Function at 0x556b26
Capabilities:
Resolve function by parsing pe exports

Disassembly:
fldz
sub esp, 0x1c
push ebx
push esi
mov esi, ecx
mov eax, dword [esi + 0x38]
mov ecx, dword [eax]
xor ebx, ebx
cmp ecx, eax
je 0x556b88
mov eax, dword [ecx + 0x10]
fst dword [eax + 4]
mov dword [eax + 0x10], ebx
fst dword [eax + 8]
mov dword [eax + 0x14], ebx
fst dword [eax + 0xc]
mov dword [eax + 0x18], ebx
cmp byte [ecx + 0x15], bl
jne 0x556b83
mov eax, dword [ecx + 8]
cmp byte [eax + 0x15], bl
jne 0x556b6a
mov ecx, eax
mov eax, dword [ecx]
cmp byte [eax + 0x15], bl
jne 0x556b83
mov ecx, eax
mov eax, dword [ecx]
cmp byte [eax + 0x15], bl
je 0x556b5f
jmp 0x556b83
mov eax, dword [ecx + 4]
cmp byte [eax + 0x15], bl
jne 0x556b81
cmp ecx, dword [eax + 8]
jne 0x556b81
mov ecx, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0x15], bl
je 0x556b72
mov ecx, eax
cmp ecx, dword [esi + 0x38]
jne 0x556b34
mov eax, dword [esi + 0x48]
sub eax, dword [esi + 0x44]
xor ecx, ecx
sar eax, 2
test eax, eax
je 0x556bbd
mov edx, dword [esi + 0x44]
mov eax, dword [edx + ecx*4]
fst dword [eax + 4]
mov dword [eax + 0x10], ebx
fst dword [eax + 8]
mov dword [eax + 0x14], ebx
fst dword [eax + 0xc]
mov dword [eax + 0x18], ebx
mov eax, dword [esi + 0x48]
sub eax, dword [esi + 0x44]
inc ecx
sar eax, 2
cmp ecx, eax
jb 0x556b97
push ebp
fstp st(0)
push edi
xor edi, edi
cmp dword [esi + 0x70], ebx
jbe 0x556c27
push edi
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x28]
push edx
lea ecx, [esi + 0x60]
call fcn.00557d90
mov ecx, eax
call fcn.00552970
mov ecx, dword [eax]
cmp ecx, ebx
jne 0x556bec
xor edx, edx
jmp 0x556bee
mov edx, dword [ecx]
mov ecx, dword [eax + 8]
mov eax, ecx
and ecx, 3
mov ebp, ecx
mov ecx, dword [edx + 8]
shr eax, 2
cmp ecx, eax
ja 0x556c04
sub eax, ecx
mov ecx, dword [edx + 4]
fldz
mov edx, dword [ecx + eax*4]
mov eax, dword [edx + ebp*4]
fst dword [eax + 4]
inc edi
fst dword [eax + 8]
mov dword [eax + 0x10], ebx
fstp dword [eax + 0xc]
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ebx
cmp edi, dword [esi + 0x70]
jb 0x556bc8
xor ebp, ebp
cmp dword [esi + 0x88], ebx
jbe 0x556c91
push ebp
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esi + 0x78]
call fcn.00557d90
mov ecx, eax
call fcn.00552970
mov ecx, dword [eax]
cmp ecx, ebx
jne 0x556c55
xor edx, edx
jmp 0x556c57
mov edx, dword [ecx]
mov ecx, dword [eax + 8]
mov edi, dword [edx + 8]
mov eax, ecx
shr eax, 2
and ecx, 3
cmp edi, eax
ja 0x556c6b
sub eax, edi
mov edx, dword [edx + 4]
fldz
mov eax, dword [edx + eax*4]
mov eax, dword [eax + ecx*4]
fst dword [eax + 4]
inc ebp
fst dword [eax + 8]
mov dword [eax + 0x10], ebx
fstp dword [eax + 0xc]
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ebx
cmp ebp, dword [esi + 0x88]
jb 0x556c31
mov ecx, dword [esi + 0x38]
mov ebp, dword [ecx + 4]
mov dword [esp + 0x10], ebp
cmp byte [ebp + 0x15], bl
jne 0x556cc5
mov edx, dword [ebp + 8]
push edx
lea ecx, [esi + 0x34]
call fcn.00409d70
mov eax, dword [esp + 0x10]
mov ebp, dword [ebp]
push eax
call fcn.00582655
add esp, 4
mov dword [esp + 0x10], ebp
cmp byte [ebp + 0x15], bl
je 0x556ca0
mov eax, dword [esi + 0x38]
mov dword [eax + 4], eax
mov eax, dword [esi + 0x38]
mov dword [eax], eax
mov eax, dword [esi + 0x38]
mov dword [eax + 8], eax
mov dword [esi + 0x3c], ebx
mov edi, dword [esi + 0x44]
mov eax, dword [esi + 0x48]
cmp edi, eax
je 0x556d01
mov ecx, eax
sub ecx, eax
sar ecx, 2
lea ebp, [ecx*4]
push ebp
push eax
push edi
call fcn.00583270
add esp, 0xc
add ebp, edi
mov dword [esi + 0x48], ebp
mov eax, dword [esi + 0x70]
cmp eax, ebx
je 0x556d1a
cmp eax, ebx
je 0x556d15
dec eax
mov dword [esi + 0x70], eax
jne 0x556d15
mov dword [esi + 0x6c], ebx
cmp dword [esi + 0x70], ebx
jne 0x556d08
mov edi, dword [esi + 0x68]
cmp edi, ebx
jbe 0x556d3c
mov ecx, dword [esi + 0x64]
dec edi
cmp dword [ecx + edi*4], ebx
lea eax, [ecx + edi*4]
je 0x556d38
mov edx, dword [eax]
push edx
call fcn.00582655
add esp, 4
cmp edi, ebx
ja 0x556d21
mov eax, dword [esi + 0x64]
cmp eax, ebx
je 0x556d4c
push eax
call fcn.00582655
add esp, 4
mov dword [esi + 0x68], ebx
mov dword [esi + 0x64], ebx
mov eax, dword [esi + 0x88]
cmp eax, ebx
je 0x556d7b
lea esp, [esp]
cmp eax, ebx
je 0x556d73
dec eax
mov dword [esi + 0x88], eax
jne 0x556d73
mov dword [esi + 0x84], ebx
cmp dword [esi + 0x88], ebx
jne 0x556d60
mov edi, dword [esi + 0x80]
cmp edi, ebx
jbe 0x556da0
mov eax, dword [esi + 0x7c]
dec edi
cmp dword [eax + edi*4], ebx
lea eax, [eax + edi*4]
je 0x556d9c
mov ecx, dword [eax]
push ecx
call fcn.00582655
add esp, 4
cmp edi, ebx
ja 0x556d85
mov eax, dword [esi + 0x7c]
cmp eax, ebx
je 0x556db0
push eax
call fcn.00582655
add esp, 4
mov dword [esi + 0x80], ebx
mov dword [esi + 0x7c], ebx
mov dword [esi + 0x54], ebx
mov dword [esi + 0x58], ebx
mov dword [esi + 0x5c], ebx
mov ecx, dword [esi + 0x90]
mov edx, dword [esi + 0x94]
cmp ecx, edx
je 0x556df8
mov eax, edx
cmp edx, edx
je 0x556df2
mov edi, dword [eax]
mov dword [ecx], edi
mov edi, dword [eax + 4]
mov dword [ecx + 4], edi
mov edi, dword [eax + 8]
mov dword [ecx + 8], edi
add eax, 0xc
add ecx, 0xc
cmp eax, edx
jne 0x556dd8
mov dword [esi + 0x94], ecx
mov eax, dword [esi + 0xb0]
cmp eax, ebx
je 0x556e1d
cmp eax, ebx
je 0x556e15
dec eax
mov dword [esi + 0xb0], eax
jne 0x556e15
mov dword [esi + 0xac], ebx
cmp dword [esi + 0xb0], ebx
jne 0x556e02
mov edi, dword [esi + 0xa8]
cmp edi, ebx
jbe 0x556e4e
jmp 0x556e30
mov edx, dword [esi + 0xa4]
dec edi
cmp dword [edx + edi*4], ebx
lea eax, [edx + edi*4]
je 0x556e4a
mov eax, dword [eax]
push eax
call fcn.00582655
add esp, 4
cmp edi, ebx
ja 0x556e30
mov eax, dword [esi + 0xa4]
cmp eax, ebx
je 0x556e61
push eax
call fcn.00582655
add esp, 4
mov dword [esi + 0xa8], ebx
mov dword [esi + 0xa4], ebx
mov eax, dword [esi + 0xc8]
cmp eax, ebx
je 0x556e92
cmp eax, ebx
je 0x556e8a
dec eax
mov dword [esi + 0xc8], eax
jne 0x556e8a
mov dword [esi + 0xc4], ebx
cmp dword [esi + 0xc8], ebx
jne 0x556e77
mov edi, dword [esi + 0xc0]
cmp edi, ebx
jbe 0x556ebe
lea esp, [esp]
mov ecx, dword [esi + 0xbc]
dec edi
cmp dword [ecx + edi*4], ebx
lea eax, [ecx + edi*4]
je 0x556eba
mov edx, dword [eax]
push edx
call fcn.00582655
add esp, 4
cmp edi, ebx
ja 0x556ea0
mov eax, dword [esi + 0xbc]
pop edi
pop ebp
cmp eax, ebx
je 0x556ed3
push eax
call fcn.00582655
add esp, 4
mov dword [esi + 0xbc], ebx
mov dword [esi + 0xc0], ebx
pop esi
pop ebx
add esp, 0x1c
ret