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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x3c4]
cmp eax, dword [ecx + 8]
jbe 0x551829
sub esp, 0x444
lea edi, [esp + 0x1bc]
mov ecx, 0xa0
xor eax, eax
rep stosd dword es:[edi], eax
mov edx, dword [esp + 0x448]
mov ebx, dword [edx]
mov ebp, dword [edx + 4]
mov esi, dword [edx + 8]
mov eax, ebx
mov ebx, dword [edx + 0xc]
mov ecx, ebx
mov ebx, dword [edx + 0x10]
mov edi, ebx
mov ebx, dword [edx + 0x14]
mov dword [esp + 0x7c], ebx
mov ebx, dword [edx + 0x18]
mov dword [esp + 0x34], ebx
mov ebx, dword [edx + 0x1c]
mov dword [esp + 0x38], ebx
mov ebx, dword [edx + 0x20]
mov dword [esp + 0xa0], ebx
mov ebx, dword [edx + 0x24]
mov dword [esp + 0xa4], ebx
mov ebx, dword [edx + 0x28]
mov dword [esp + 0x4c], ebx
mov ebx, dword [edx + 0x2c]
mov dword [esp + 0x50], ebx
mov ebx, dword [edx + 0x30]
mov dword [esp + 0x80], ebx
mov ebx, dword [edx + 0x34]
mov dword [esp + 0x84], ebx
mov ebx, dword [edx + 0x38]
mov edx, dword [edx + 0x3c]
mov dword [esp + 0x1b4], eax
mov eax, dword [esp + 0x450]
mov dword [esp + 0xd0], eax
mov dword [esp + 0x1ac], ecx
mov ecx, dword [esp + 0x44c]
mov dword [esp + 0x440], ecx
mov dword [esp + 0x1a4], edx
mov edx, dword [esp + 0x454]
mov dword [esp + 0xcc], edx
mov edx, dword [esp + 0x1a4]
mov eax, dword [esp + 0x1b4]
mov ecx, dword [esp + 0x1ac]
jmp 0x550fcb
mov edx, dword [esp + 0x10]
add eax, edx
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x14]
adc ebp, edx
mov edx, dword [esp + 8]
add esi, edx
mov edx, dword [esp + 0xc]
adc ecx, edx
mov dword [esp + 0xc4], ecx
mov edx, dword [esp + 0x78]
add edi, edx
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x7c]
adc edx, eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x34]
add eax, ecx
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
adc ecx, eax
mov dword [esp + 0xc0], ecx
mov eax, dword [esp + 0xa0]
add ebx, eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0xa4]
adc eax, ecx
mov dword [esp + 0xbc], eax
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x90]
add ecx, eax
mov dword [esp + 0x4c], ecx
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x94]
adc eax, ecx
mov dword [esp + 0xb8], eax
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x54]
add ecx, eax
mov dword [esp + 0x80], ecx
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x58]
adc eax, ecx
mov dword [esp + 0xb4], eax
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0xa8]
add ecx, eax
mov dword [esp + 0xa8], ecx
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0xac]
adc eax, ecx
mov dword [esp + 0xb0], eax
mov ecx, dword [esp + 0xcc]
add ecx, 0xffffff80
mov dword [esp + 0xcc], ecx
neg ecx
sar ecx, 0x1f
and ecx, 0x80
mov eax, dword [esp + 0x440]
add eax, ecx
mov ecx, dword [esp + 0xd0]
add ecx, 0xffffff80
mov dword [esp + 0xd0], ecx
mov dword [esp + 0x440], eax
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x194], ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa0], ebx
mov dword [esp + 0x7c], edx
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x18c], edx
mov edx, dword [esp + 0xb8]
mov dword [esp + 0x50], edx
mov dword [esp + 0x184], ebx
mov ebx, dword [esp + 0xb4]
mov dword [esp + 0x84], ebx
mov ebx, dword [esp + 0xa8]
mov edx, dword [esp + 0xb0]
mov dword [esp + 0xac], edx
mov edx, dword [esp + 0xd0]
cmp edx, 0x80
jl 0x551111
mov dword [esp + 0xa8], ebx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x78], edi
mov dword [esp + 8], esi
mov dword [esp + 0x17c], eax
xor eax, eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x17c]
jmp 0x5511b8
mov ebx, 0x10
jmp 0x55130d
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x174], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x70], eax
mov dword [esp + 0x16c], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x164], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x18], edx
mov dword [esp + 0x15c], ebx
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x154], ebp
xor ebp, ebp
mov dword [esp + 0x28], ebp
mov ebp, dword [esp + 0xac]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x14c], esi
mov esi, dword [esp + 0xa8]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x144], edi
mov edi, dword [esp + 0x50]
mov dword [esp + 0x94], edi
mov dword [esp + 0x13c], ebx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x90], ebx
mov dword [esp + 0x134], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x12c], edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0x54], edx
mov ebp, dword [esp + 0x154]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x164]
mov ebx, dword [esp + 0x15c]
mov esi, dword [esp + 0x14c]
mov edi, dword [esp + 0x144]
jmp 0x55169a
mov edx, dword [esp + 0x448]
mov dword [edx], eax
mov dword [edx + 4], ebp
mov dword [edx + 8], esi
mov dword [edx + 0xc], ecx
mov dword [edx + 0x10], edi
mov eax, dword [esp + 0x7c]
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0x34]
mov dword [edx + 0x18], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 0x1c], eax
mov eax, dword [esp + 0xa0]
mov dword [edx + 0x20], eax
mov eax, dword [esp + 0xa4]
mov dword [edx + 0x24], eax
mov eax, dword [esp + 0x4c]
mov dword [edx + 0x28], eax
mov eax, dword [esp + 0x50]
mov dword [edx + 0x2c], eax
mov eax, dword [esp + 0x80]
mov dword [edx + 0x30], eax
mov eax, dword [esp + 0x84]
mov dword [edx + 0x34], eax
mov dword [edx + 0x38], ebx
mov eax, dword [esp + 0xac]
mov dword [edx + 0x3c], eax
add esp, 0x444
ret
lea ebx, [esp + edi*8 + 0x1bc]
mov dword [ebx], esi
lea ebx, [esp + edi*8 + 0x1c0]
mov dword [ebx], ebp
lea ebx, [edi + 1]
mov ebp, dword [esp + 0x440]
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 8]
mov edi, dword [esp + 0x78]
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0xa8]
mov ebx, dword [esp + 0x30]
cmp ebx, 0x10
jge 0x551011
shl ebx, 3
cmp edx, ebx
jbe 0x55181f
mov dword [esp + 0x74], ebx
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x440]
lea edi, [esi + ebp*8]
movzx edi, byte [edi]
inc ebx
cmp edx, ebx
jbe 0x551816
shl edi, 0x18
lea ebx, [esi + ebp*8 + 1]
movzx ebx, byte [ebx]
shl ebx, 0x10
or ebx, edi
mov edi, dword [esp + 0x74]
add edi, 2
cmp edx, edi
jbe 0x55180d
lea edi, [esi + ebp*8 + 2]
movzx edi, byte [edi]
shl edi, 8
or edi, ebx
mov ebx, dword [esp + 0x74]
add ebx, 3
cmp edx, ebx
jbe 0x551804
lea ebx, [esi + ebp*8 + 3]
movzx ebx, byte [ebx]
or ebx, edi
mov edi, dword [esp + 0x74]
add edi, 4
cmp edx, edi
jbe 0x5517fb
lea edi, [esi + ebp*8 + 4]
movzx edi, byte [edi]
mov dword [esp + 0xc8], edi
shr edi, 8
or ebx, edi
mov edi, dword [esp + 0x74]
add edi, 5
cmp edx, edi
jbe 0x5517f2
mov edi, dword [esp + 0xc8]
shl edi, 0x18
lea ebp, [esi + ebp*8 + 5]
movzx ebp, byte [ebp]
mov dword [esp + 0xc8], ebp
shl ebp, 0x10
or ebp, edi
mov edi, dword [esp + 0xc8]
shr edi, 0x10
or edi, ebx
mov ebx, dword [esp + 0x74]
add ebx, 6
cmp edx, ebx
jbe 0x5517e9
mov ebx, dword [esp + 0x30]
lea ebx, [esi + ebx*8 + 6]
movzx ebx, byte [ebx]
mov dword [esp + 0xc8], ebx
shl ebx, 8
or ebx, ebp
mov ebp, dword [esp + 0xc8]
shr ebp, 0x18
or ebp, edi
mov edi, dword [esp + 0x74]
add edi, 7
cmp edx, edi
jbe 0x5517e0
mov edi, dword [esp + 0x30]
lea esi, [esi + edi*8 + 7]
movzx esi, byte [esi]
or esi, ebx
cmp edi, 0x50
jb 0x551185
jmp 0x5517d4
lea edx, [esp + ebx*8 + 0x1bc]
mov dword [edx], esi
lea edx, [esp + ebx*8 + 0x1c0]
mov dword [edx], ebp
inc ebx
mov edx, dword [esp + 0xd0]
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 8]
mov edi, dword [esp + 0x78]
cmp ebx, 0x50
jge 0x55101b
lea edx, [ebx - 2]
cmp edx, 0x50
jae 0x5517c8
lea edx, [esp + ebx*8 + 0x1ac]
mov ebp, dword [edx + 4]
mov dword [esp + 0x68], ebp
mov edx, dword [edx]
mov dword [esp + 0x64], edx
shl edx, 0xd
shr ebp, 0x13
or ebp, edx
mov edx, dword [esp + 0x68]
shl edx, 3
mov esi, dword [esp + 0x64]
shr esi, 0x1d
or esi, edx
xor esi, ebp
mov edx, dword [esp + 0x68]
mov ebp, edx
shl edx, 0xd
mov edi, dword [esp + 0x64]
shr edi, 0x13
or edx, edi
mov edi, dword [esp + 0x64]
shl edi, 3
shr ebp, 0x1d
or ebp, edi
xor edx, ebp
mov ebp, dword [esp + 0x64]
shr ebp, 6
mov edi, dword [esp + 0x68]
shl edi, 0x1a
or edi, ebp
xor edi, edx
mov edx, dword [esp + 0x68]
shr edx, 6
xor esi, edx
lea edx, [ebx - 0xf]
cmp edx, 0x50
jae 0x5517bc
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x60], esi
mov dword [esp + 0x5c], edi
lea edx, [esp + ebx*8 + 0x144]
mov ebp, dword [edx + 4]
mov dword [esp + 0x48], ebp
mov edx, dword [edx]
mov dword [esp + 0x44], edx
shl edx, 0x1f
shr ebp, 1
or ebp, edx
mov edx, dword [esp + 0x44]
shl edx, 0x18
mov esi, dword [esp + 0x48]
shr esi, 8
or esi, edx
xor esi, ebp
mov edx, dword [esp + 0x44]
mov ebp, edx
shr edx, 1
mov edi, dword [esp + 0x48]
shl edi, 0x1f
or edi, edx
mov edx, ebp
shr ebp, 8
mov ebx, dword [esp + 0x48]
shl ebx, 0x18
or ebx, ebp
xor ebx, edi
shr edx, 7
mov ebp, dword [esp + 0x48]
mov edi, ebp
shl ebp, 0x19
or ebp, edx
xor ebp, ebx
shr edi, 7
xor esi, edi
mov edx, dword [esp + 0x2c]
lea ebx, [edx - 7]
cmp ebx, 0x50
jae 0x5517b0
lea ebx, [esp + edx*8 + 0x184]
mov edi, dword [ebx]
mov ebx, dword [ebx + 4]
mov edx, dword [esp + 0x5c]
add edx, edi
mov edi, dword [esp + 0x60]
adc edi, ebx
add edx, ebp
adc edi, esi
mov ebx, dword [esp + 0x2c]
lea ebp, [ebx - 0x10]
cmp ebp, 0x50
jae 0x5517a4
lea ebp, [esp + ebx*8 + 0x13c]
mov esi, dword [ebp]
mov ebp, dword [ebp + 4]
add esi, edx
adc ebp, edi
cmp ebx, 0x50
jb 0x5512e7
jmp 0x551798
mov dword [esp + 0x43c], edi
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x88], eax
mov dword [esp + 0xc4], edx
mov dword [esp + 0xc8], ebx
mov esi, dword [esp + 0x8c]
and esi, ecx
mov edx, dword [esp + 0x98]
and eax, edx
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x8c]
and ebx, ebp
xor ebx, esi
mov esi, dword [esp + 0x88]
mov edi, dword [esp + 0x6c]
and esi, edi
xor eax, esi
mov esi, dword [esp + 0x70]
and esi, ecx
xor esi, ebx
and edx, edi
xor eax, edx
mov edx, dword [esp + 0x88]
shl edx, 4
shr ebp, 0x1c
or ebp, edx
mov edx, dword [esp + 0x88]
shr edx, 2
mov ecx, dword [esp + 0x8c]
shl ecx, 0x1e
or edx, ecx
xor ebp, edx
mov ecx, dword [esp + 0x8c]
mov edx, ecx
shl ecx, 4
mov ebx, dword [esp + 0x88]
shr ebx, 0x1c
or ecx, ebx
mov ebx, dword [esp + 0x88]
shl ebx, 0x1e
shr edx, 2
or edx, ebx
xor ecx, edx
mov edx, dword [esp + 0x88]
mov ebx, edx
shr edx, 7
mov edi, dword [esp + 0x8c]
shl edi, 0x19
or edx, edi
xor ebp, edx
shl ebx, 0x19
mov edi, dword [esp + 0x8c]
shr edi, 7
or edi, ebx
xor ecx, edi
add eax, ecx
adc ebp, esi
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x43c]
lea ebx, [ebx + ecx*8]
mov esi, dword [ebx]
mov ebx, dword [ebx + 4]
mov edi, dword [esp + 0xc8]
add esi, edi
mov edi, dword [esp + 0xc4]
adc ebx, edi
lea edi, [esp + ecx*8 + 0x1bc]
mov edx, dword [edi]
mov edi, dword [edi + 4]
add edx, esi
adc edi, ebx
mov ebx, dword [esp + 0x18]
add ebx, edx
mov esi, dword [esp + 0x1c]
adc esi, edi
add eax, edx
adc ebp, edi
inc ecx
mov edx, dword [esp + 0x90]
mov edi, dword [esp + 0x94]
mov edx, dword [esp + 0xd0]
mov edi, dword [esp + 0x98]
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x11c], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x114], ebx
mov ebx, dword [esp + 0x11c]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x10c], ebx
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x104], ebp
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0xfc], esi
mov esi, dword [esp + 0x94]
mov dword [esp + 0x58], esi
mov dword [esp + 0xf4], esi
mov esi, dword [esp + 0x90]
mov dword [esp + 0x54], esi
mov ebp, dword [esp + 0x104]
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x8c]
mov esi, dword [esp + 0x88]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x70], eax
mov dword [esp + 0xe4], ebp
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x94], ebp
mov dword [esp + 0xdc], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x90], edx
mov ebx, dword [esp + 0x114]
mov dword [esp + 0xd4], ebx
mov ebx, dword [esp + 0xfc]
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0x124]
mov ebp, dword [esp + 0x104]
mov edx, dword [esp + 0xd0]
mov ebx, dword [esp + 0x114]
mov edx, dword [esp + 0x28]
cmp edx, 0x50
jge 0x550e38
mov dword [esp + 0x6c], edi
mov dword [esp + 0x98], esi
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x20], ebx
shl ebx, 0x12
mov edi, dword [esp + 0x24]
shr edi, 0xe
or edi, ebx
mov ebx, dword [esp + 0x20]
shl ebx, 0xe
mov esi, dword [esp + 0x24]
shr esi, 0x12
or esi, ebx
xor edi, esi
mov ebx, dword [esp + 0x20]
mov esi, ebx
shr ebx, 0xe
mov ebp, dword [esp + 0x24]
shl ebp, 0x12
or ebp, ebx
mov ebx, dword [esp + 0x24]
shl ebx, 0xe
shr esi, 0x12
or ebx, esi
xor ebx, ebp
mov ebp, dword [esp + 0x20]
mov esi, ebp
shr ebp, 9
mov edx, dword [esp + 0x24]
shl edx, 0x17
or ebp, edx
xor ebp, edi
mov edx, esi
shl esi, 0x17
mov edi, dword [esp + 0x24]
shr edi, 9
or edi, esi
xor ebx, edi
mov esi, dword [esp + 0x3c]
add ebx, esi
mov esi, dword [esp + 0x40]
adc ebp, esi
mov dword [esp + 0xc4], ebp
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x94]
and esi, edi
mov edi, dword [esp + 0x90]
and edx, edi
mov edi, dword [esp + 0x24]
xchg edi, ebx
not ebx
xchg edi, ebx
mov ebp, dword [esp + 0x58]
and edi, ebp
xor edi, esi
mov esi, dword [esp + 0x20]
xchg esi, ebx
not ebx
xchg esi, ebx
mov ebp, dword [esp + 0x54]
and esi, ebp
xor esi, edx
add ebx, esi
mov edx, dword [esp + 0xc4]
adc edx, edi
mov esi, dword [0x6aca8c]
mov edi, dword [0x6aca88]
mov ebp, dword [esp + 0x28]
cmp ebp, esi
jb 0x551461
mov eax, ebp
mov ecx, esi
call fcn.004520a0
mov eax, ebx
mov ecx, 0x50
call fcn.004520a0
mov eax, ebp
mov ecx, 0x50
call fcn.004520a0
mov eax, ebx
mov ecx, 0x50
call fcn.004520a0
mov eax, edx
mov ecx, 0x50
call fcn.004520a0
mov eax, edx
mov ecx, 0x50
call fcn.004520a0
mov eax, edi
mov ecx, 0x50
call fcn.004520a0
mov eax, edi
mov ecx, edx
call fcn.004520a0
mov eax, ebx
mov ecx, edx
call fcn.004520a0
mov eax, edi
mov ecx, edx
call fcn.004520a0
mov eax, edi
mov ecx, edx
call fcn.004520a0
mov eax, ebx
mov ecx, edx
call fcn.004520a0
mov eax, edi
mov ecx, edx
call fcn.004520a0
mov eax, ebx
mov ecx, edx
call fcn.004520a0
mov eax, ebx
mov ecx, edx
call fcn.004520a0
nop
call fcn.00450c10
jmp fcn.00550d40