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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xd
push 0
push 0
dec ecx
jne 0x55f318
push ecx
push ebx
push esi
push edi
mov esi, eax
mov edi, dword [0x5a2034]
xor eax, eax
push ebp
push 0x55fcb3
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [edi]
mov eax, dword [esi + 0x300]
call fcn.00468b44
mov dl, byte [edi + 4]
mov eax, dword [esi + 0x340]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov edx, dword [edi + 8]
mov eax, dword [esi + 0x334]
call fcn.0052f1cc
mov edx, dword [edi + 0xc]
mov eax, dword [esi + 0x32c]
call fcn.0052f1cc
mov eax, dword [edi + 0xc]
call fcn.005037bc
push edx
push eax
mov eax, dword [edi + 8]
call fcn.005037bc
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
push edx
push eax
lea eax, [ebp - 0x3c]
call fcn.005039f8
mov edx, dword [ebp - 0x3c]
mov eax, dword [esi + 0x338]
call fcn.0052f1cc
xor edx, edx
mov dl, byte [edi + 0x10]
mov eax, dword [esi + 0x348]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov dl, byte [edi + 0x11]
mov eax, dword [esi + 0x350]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
xor edx, edx
mov dl, byte [edi + 0x12]
mov eax, dword [esi + 0x358]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov dl, byte [edi + 0x13]
mov eax, dword [esi + 0x360]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov dl, byte [edi + 0x14]
mov eax, dword [esi + 0x398]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov dl, byte [edi + 0x14]
xor dl, 1
mov eax, dword [esi + 0x39c]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
lea edx, [ebp - 0x40]
mov eax, dword [edi + 0x1c]
call fcn.0040948c
mov edx, dword [ebp - 0x40]
mov eax, dword [esi + 0x388]
call fcn.00468b44
mov eax, dword [esi + 0x394]
mov dword [ebp - 4], eax
mov edx, 2
mov eax, dword [ebp - 4]
call fcn.00449b00
mov ebx, 1
mov eax, dword [0x5a21c4]
mov dword [ebp - 0x20], eax
lea edx, [ebp - 0x44]
mov eax, dword [edi + 0x18]
call fcn.0040948c
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
call fcn.00404d30
jne 0x55f474
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00449b00
inc ebx
add dword [ebp - 0x20], 4
cmp ebx, 0xe
jne 0x55f450
mov al, byte [edi + 0x2e]
sub al, 1
jb 0x55f48d
je 0x55f49f
dec al
je 0x55f4b1
jmp 0x55f4c1
mov dl, 1
mov eax, dword [esi + 0x3e0]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
jmp 0x55f4c1
mov dl, 1
mov eax, dword [esi + 0x3e4]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
jmp 0x55f4c1
mov dl, 1
mov eax, dword [esi + 0x3e8]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov dl, byte [edi + 0x2c]
mov eax, dword [esi + 0x3d0]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov dl, byte [edi + 0x2c]
xor dl, 1
mov eax, dword [esi + 0x3d4]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
xor edx, edx
mov dl, byte [edi + 0x2d]
mov eax, dword [esi + 0x3d8]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov dl, byte [edi + 0x20]
mov eax, dword [esi + 0x3bc]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov dl, byte [edi + 0x20]
xor dl, 1
mov eax, dword [esi + 0x3c0]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov edx, dword [edi + 0x24]
mov eax, dword [esi + 0x3c4]
mov ecx, dword [eax]
call dword [ecx + 0x1d4]
mov edx, dword [edi + 0x28]
mov eax, dword [esi + 0x3c8]
mov ecx, dword [eax]
call dword [ecx + 0x1d4]
mov dl, byte [edi + 0x2f]
mov eax, dword [esi + 0x41c]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov dl, byte [edi + 0x2f]
xor dl, 1
mov eax, dword [esi + 0x420]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
lea edx, [ebp - 0x48]
mov eax, dword [edi + 0x34]
call fcn.0040948c
mov edx, dword [ebp - 0x48]
mov eax, dword [esi + 0x40c]
call fcn.00468b44
mov eax, dword [esi + 0x418]
mov dword [ebp - 8], eax
mov edx, 2
mov eax, dword [ebp - 8]
call fcn.00449b00
mov ebx, 1
mov eax, dword [0x5a21c0]
mov dword [ebp - 0x24], eax
lea edx, [ebp - 0x4c]
mov eax, dword [edi + 0x30]
call fcn.0040948c
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
call fcn.00404d30
jne 0x55f5c5
mov edx, ebx
mov eax, dword [ebp - 8]
call fcn.00449b00
inc ebx
add dword [ebp - 0x24], 4
cmp ebx, 0xe
jne 0x55f5a1
mov al, byte [edi + 0x46]
sub al, 1
jb 0x55f5de
je 0x55f5f0
dec al
je 0x55f602
jmp 0x55f612
mov dl, 1
mov eax, dword [esi + 0x464]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
jmp 0x55f612
mov dl, 1
mov eax, dword [esi + 0x468]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
jmp 0x55f612
mov dl, 1
mov eax, dword [esi + 0x46c]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov dl, byte [edi + 0x44]
mov eax, dword [esi + 0x454]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov dl, byte [edi + 0x44]
xor dl, 1
mov eax, dword [esi + 0x458]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
xor edx, edx
mov dl, byte [edi + 0x45]
mov eax, dword [esi + 0x45c]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov dl, byte [edi + 0x38]
mov eax, dword [esi + 0x440]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov dl, byte [edi + 0x38]
xor dl, 1
mov eax, dword [esi + 0x444]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov edx, dword [edi + 0x3c]
mov eax, dword [esi + 0x448]
mov ecx, dword [eax]
call dword [ecx + 0x1d4]
mov edx, dword [edi + 0x40]
mov eax, dword [esi + 0x44c]
mov ecx, dword [eax]
call dword [ecx + 0x1d4]
mov dl, byte [edi + 0x47]
mov eax, dword [esi + 0x4a0]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov dl, byte [edi + 0x47]
xor dl, 1
mov eax, dword [esi + 0x4a4]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
lea edx, [ebp - 0x50]
mov eax, dword [edi + 0x4c]
call fcn.0040948c
mov edx, dword [ebp - 0x50]
mov eax, dword [esi + 0x490]
call fcn.00468b44
mov eax, dword [esi + 0x49c]
mov dword [ebp - 0xc], eax
mov edx, 2
mov eax, dword [ebp - 0xc]
call fcn.00449b00
mov ebx, 1
mov eax, dword [0x5a2094]
mov dword [ebp - 0x28], eax
lea edx, [ebp - 0x54]
mov eax, dword [edi + 0x48]
call fcn.0040948c
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
call fcn.00404d30
jne 0x55f716
mov edx, ebx
mov eax, dword [ebp - 0xc]
call fcn.00449b00
inc ebx
add dword [ebp - 0x28], 4
cmp ebx, 0xe
jne 0x55f6f2
xor eax, eax
mov al, byte [edi + 0x5a]
cmp eax, 4
ja case.default.0x55f72a
jmp dword [eax*4 + 0x55f731]
mov dl, 1
mov eax, dword [esi + 0x4d0]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
jmp case.default.0x55f72a
mov dl, 1
mov eax, dword [esi + 0x4dc]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
jmp case.default.0x55f72a
mov dl, 1
mov eax, dword [esi + 0x4d4]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
jmp case.default.0x55f72a
mov dl, 1
mov eax, dword [esi + 0x4e0]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
jmp case.default.0x55f72a
mov dl, 1
mov eax, dword [esi + 0x4d8]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov dl, byte [edi + 0x58]
mov eax, dword [esi + 0x4c0]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov dl, byte [edi + 0x58]
xor dl, 1
mov eax, dword [esi + 0x4c4]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
xor edx, edx
mov dl, byte [edi + 0x59]
mov eax, dword [esi + 0x4c8]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
cmp dword [edi + 0x50], 0x80
jne 0x55f7f4
cmp dword [edi + 0x54], 0x60
jne 0x55f7f4
mov dl, 1
mov eax, dword [esi + 0x4b0]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
cmp dword [edi + 0x50], 0xb0
jne 0x55f816
cmp dword [edi + 0x54], 0x90
jne 0x55f816
mov dl, 1
mov eax, dword [esi + 0x4b4]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
cmp dword [edi + 0x50], 0x160
jne 0x55f838
cmp dword [edi + 0x54], 0x120
jne 0x55f838
mov dl, 1
mov eax, dword [esi + 0x4b8]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov dl, byte [edi + 0x5b]
mov eax, dword [esi + 0x514]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov dl, byte [edi + 0x5b]
xor dl, 1
mov eax, dword [esi + 0x518]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
lea edx, [ebp - 0x58]
mov eax, dword [edi + 0x60]
call fcn.0040948c
mov edx, dword [ebp - 0x58]
mov eax, dword [esi + 0x504]
call fcn.00468b44
mov eax, dword [esi + 0x510]
mov dword [ebp - 0x10], eax
mov edx, 2
mov eax, dword [ebp - 0x10]
call fcn.00449b00
mov ebx, 1
mov eax, dword [0x5a1d78]
mov dword [ebp - 0x2c], eax
lea edx, [ebp - 0x5c]
mov eax, dword [edi + 0x5c]
call fcn.0040948c
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
call fcn.00404d30
jne 0x55f8bd
mov edx, ebx
mov eax, dword [ebp - 0x10]
call fcn.00449b00
inc ebx
add dword [ebp - 0x2c], 4
cmp ebx, 0xe
jne 0x55f899
mov al, byte [edi + 0x72]
sub al, 1
jb 0x55f8d6
je 0x55f8e8
dec al
je 0x55f8fa
jmp 0x55f90a
mov dl, 1
mov eax, dword [esi + 0x55c]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
jmp 0x55f90a
mov dl, 1
mov eax, dword [esi + 0x560]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
jmp 0x55f90a
mov dl, 1
mov eax, dword [esi + 0x564]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov dl, byte [edi + 0x70]
mov eax, dword [esi + 0x54c]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov dl, byte [edi + 0x70]
xor dl, 1
mov eax, dword [esi + 0x550]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
xor edx, edx
mov dl, byte [edi + 0x71]
mov eax, dword [esi + 0x554]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov dl, byte [edi + 0x64]
mov eax, dword [esi + 0x538]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov dl, byte [edi + 0x64]
xor dl, 1
mov eax, dword [esi + 0x53c]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov edx, dword [edi + 0x68]
mov eax, dword [esi + 0x540]
mov ecx, dword [eax]
call dword [ecx + 0x1d4]
mov edx, dword [edi + 0x6c]
mov eax, dword [esi + 0x544]
mov ecx, dword [eax]
call dword [ecx + 0x1d4]
mov dl, byte [edi + 0x73]
mov eax, dword [esi + 0x598]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov dl, byte [edi + 0x73]
xor dl, 1
mov eax, dword [esi + 0x59c]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
lea edx, [ebp - 0x60]
mov eax, dword [edi + 0x78]
call fcn.0040948c
mov edx, dword [ebp - 0x60]
mov eax, dword [esi + 0x588]
call fcn.00468b44
mov eax, dword [esi + 0x594]
mov dword [ebp - 0x14], eax
mov edx, 2
mov eax, dword [ebp - 0x14]
call fcn.00449b00
mov ebx, 1
mov eax, dword [0x5a1c10]
mov dword [ebp - 0x30], eax
lea edx, [ebp - 0x64]
mov eax, dword [edi + 0x74]
call fcn.0040948c
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
call fcn.00404d30
jne 0x55fa0e
mov edx, ebx
mov eax, dword [ebp - 0x14]
call fcn.00449b00
inc ebx
add dword [ebp - 0x30], 4
cmp ebx, 0xe
jne 0x55f9ea
mov al, byte [edi + 0x8a]
sub al, 1
jb 0x55fa2a
je 0x55fa3c
dec al
je 0x55fa4e
jmp 0x55fa5e
mov dl, 1
mov eax, dword [esi + 0x5e0]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
jmp 0x55fa5e
mov dl, 1
mov eax, dword [esi + 0x5e4]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
jmp 0x55fa5e
mov dl, 1
mov eax, dword [esi + 0x5e8]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov dl, byte [edi + 0x88]
mov eax, dword [esi + 0x5d0]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov dl, byte [edi + 0x88]
xor dl, 1
mov eax, dword [esi + 0x5d4]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
xor edx, edx
mov dl, byte [edi + 0x89]
mov eax, dword [esi + 0x5d8]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov dl, byte [edi + 0x7c]
mov eax, dword [esi + 0x5bc]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov dl, byte [edi + 0x7c]
xor dl, 1
mov eax, dword [esi + 0x5c0]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov edx, dword [edi + 0x80]
mov eax, dword [esi + 0x5c4]
mov ecx, dword [eax]
call dword [ecx + 0x1d4]
mov edx, dword [edi + 0x84]
mov eax, dword [esi + 0x5c8]
mov ecx, dword [eax]
call dword [ecx + 0x1d4]
mov dl, byte [edi + 0x8b]
mov eax, dword [esi + 0x66c]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi + 0x668]
mov dword [ebp - 0x18], eax
mov edx, 4
mov eax, dword [ebp - 0x18]
call fcn.00449b00
mov ebx, 1
mov eax, dword [0x5a1e74]
mov dword [ebp - 0x34], eax
lea edx, [ebp - 0x68]
mov eax, dword [edi + 0x8c]
call fcn.0040948c
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
call fcn.00404d30
jne 0x55fb4a
mov edx, ebx
mov eax, dword [ebp - 0x18]
call fcn.00449b00
inc ebx
add dword [ebp - 0x34], 4
cmp ebx, 0xd
jne 0x55fb23
xor edx, edx
mov dl, byte [edi + 0x90]
mov eax, dword [esi + 0x648]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
xor edx, edx
mov dl, byte [edi + 0x91]
mov eax, dword [esi + 0x640]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov dl, byte [edi + 0x94]
mov eax, dword [esi + 0x62c]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi + 0x628]
mov dword [ebp - 0x1c], eax
mov edx, 4
mov eax, dword [ebp - 0x1c]
call fcn.00449b00
mov ebx, 1
mov eax, dword [0x5a24ac]
mov dword [ebp - 0x38], eax
lea edx, [ebp - 0x6c]
mov eax, dword [edi + 0x98]
call fcn.0040948c
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
call fcn.00404d30
jne 0x55fbde
mov edx, ebx
mov eax, dword [ebp - 0x1c]
call fcn.00449b00
inc ebx
add dword [ebp - 0x38], 4
cmp ebx, 7
jne 0x55fbb7
xor edx, edx
mov dl, byte [edi + 0x9c]
mov eax, dword [esi + 0x608]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
xor edx, edx
mov dl, byte [edi + 0x9d]
mov eax, dword [esi + 0x600]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
xor edx, edx
mov dl, byte [edi + 0x92]
mov eax, dword [esi + 0x688]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
xor edx, edx
mov dl, byte [edi + 0x93]
mov eax, dword [esi + 0x680]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
xor edx, edx
mov dl, byte [edi + 0x9e]
mov eax, dword [esi + 0x6a4]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
xor edx, edx
mov dl, byte [edi + 0x9f]
mov eax, dword [esi + 0x69c]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
xor edx, edx
mov dl, byte [edi + 0xa0]
mov eax, dword [esi + 0x6c0]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
xor edx, edx
mov dl, byte [edi + 0xa1]
mov eax, dword [esi + 0x6b8]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x55fcba
lea eax, [ebp - 0x6c]
mov edx, 0xd
call fcn.00404948
ret