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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x47
push 0
push 0
dec ecx
jne 0x503cec
push ebx
push esi
push edi
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x5051f7
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x55c2e0]
mov al, byte [eax + 4]
mov byte [ebp - 0x11], al
mov eax, dword [0x55bbb4]
mov byte [eax], 1
mov eax, dword [0x55bcf4]
mov byte [eax], 0
mov eax, dword [0x55c64c]
cmp byte [eax], 2
jne 0x503d5b
mov al, 1
call fcn.004a9dd8
mov eax, dword [0x55b610]
mov byte [eax], 0
mov eax, dword [0x55c64c]
mov byte [eax], 1
xor edx, edx
mov eax, dword [0x56ae7c]
call fcn.005082f8
mov eax, dword [0x55bc08]
mov eax, dword [eax]
call fcn.004b8bb8
mov eax, dword [0x55b460]
mov byte [eax], 0
mov eax, dword [0x55b96c]
mov byte [eax], 1
mov eax, dword [0x55c4d0]
mov byte [eax], 1
mov eax, dword [0x55c854]
mov byte [eax], 1
mov eax, dword [0x55b700]
mov byte [eax], 1
mov eax, dword [ebp - 4]
call fcn.00503c54
xor edi, edi
mov eax, dword [0x55b638]
mov byte [eax], 0xff
inc edi
inc eax
cmp edi, 0x14
jne 0x503d92
xor edi, edi
mov eax, dword [0x55baa8]
mov byte [eax], 0xff
inc edi
inc eax
cmp edi, 0x15
jne 0x503da3
xor edi, edi
mov eax, dword [0x55bf20]
mov byte [eax], 0xff
inc edi
inc eax
cmp edi, 0x27
jne 0x503db4
xor edi, edi
mov ebx, dword [0x55c8b0]
mov byte [ebx], 0xff
inc edi
inc ebx
cmp edi, 0x2c
jne 0x503dc6
xor edi, edi
mov eax, dword [0x55b294]
mov byte [eax], 0xff
inc edi
inc eax
cmp edi, 0x2c
jne 0x503dd7
xor edi, edi
mov eax, dword [0x55b994]
mov byte [eax], 0xff
inc edi
inc eax
cmp edi, 0x1a
jne 0x503de8
xor edi, edi
mov eax, dword [0x55c51c]
mov byte [eax], 0xff
inc edi
inc eax
cmp edi, 0x15
jne 0x503df9
mov edx, 0x53d97c
lea eax, [ebp - 0x54]
call fcn.0040320c
mov edx, 0x53d9e8
lea eax, [ebp - 0x54]
mov cl, 0x16
call fcn.004031dc
lea edx, [ebp - 0x54]
lea eax, [ebp - 0x84]
call fcn.0040320c
mov edx, 0x53d9cc
lea eax, [ebp - 0x84]
mov cl, 0x2e
call fcn.004031dc
lea edx, [ebp - 0x84]
lea eax, [ebp - 0xcc]
call fcn.0040320c
mov edx, dword [0x55c248]
lea eax, [ebp - 0xcc]
mov cl, 0x47
call fcn.004031dc
lea edx, [ebp - 0xcc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
add eax, 0x60
call fcn.00404c80
mov edx, dword [0x53d964]
mov eax, dword [ebp - 4]
call fcn.004fbb90
mov dword [0x56ae98], eax
mov eax, dword [0x55c22c]
cmp byte [eax], 0
jne 0x503eba
mov dword [0x56ae98], 2
mov eax, dword [0x53d964]
cmp byte [eax], 0x2a
jne 0x503eba
mov eax, 0x53d964
mov edx, 0x505210
call fcn.00404a70
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x314]
mov eax, dword [0x56ae98]
mov dword [ebx + 0x64], eax
mov edx, 0x53da18
lea eax, [ebp - 0xdc]
call fcn.0040320c
mov edx, 0x53d97c
lea eax, [ebp - 0xdc]
mov cl, 0xd
call fcn.004031dc
lea edx, [ebp - 0xdc]
lea eax, [ebx + 0x70]
call fcn.00404c80
mov eax, dword [0x55b238]
cmp byte [eax], 1
jne 0x503f1b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
add eax, 0x70
mov edx, 0x53d988
call fcn.00404c80
mov eax, dword [0x55b238]
cmp byte [eax], 2
jne 0x503f3b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
add eax, 0x70
mov edx, 0x53d9a0
call fcn.00404c80
mov eax, dword [0x55ba14]
cmp byte [eax], 0
jne 0x503f70
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
add eax, 0x78
mov edx, dword [0x53d964]
call fcn.00404a70
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
mov edx, dword [0x56ae84]
call fcn.0043187c
mov eax, dword [0x55ba14]
cmp byte [eax], 0
jne 0x503f90
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
mov edx, dword [eax]
call dword [edx + 0x3c]
test al, al
je 0x504dd9
mov eax, dword [0x55bc08]
mov eax, dword [eax]
mov eax, dword [eax + 0x38c]
cmp byte [eax + 0x57], 0
je 0x503faf
mov eax, dword [0x55bc08]
mov eax, dword [eax]
call fcn.004e30f4
mov eax, dword [0x55be48]
mov byte [eax], 1
mov eax, dword [0x55bcb4]
mov byte [eax], 1
lea eax, [ebp - 0x1e0]
push eax
lea edx, [ebp - 0x1e4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
call fcn.00431814
mov eax, dword [ebp - 0x1e4]
call fcn.00404cdc
sub eax, 2
push eax
lea edx, [ebp - 0x1e8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
call fcn.00431814
mov eax, dword [ebp - 0x1e8]
mov ecx, 3
pop edx
call fcn.00404f3c
mov edx, dword [ebp - 0x1e0]
lea eax, [ebp - 0x1dc]
mov ecx, 0xff
call fcn.00404cb8
lea edx, [ebp - 0x1dc]
mov eax, dword [0x55c20c]
mov cl, 3
call fcn.00403218
mov eax, dword [0x55c20c]
cmp byte [eax], 3
jb 0x505186
lea eax, [ebp - 0x1f0]
mov edx, dword [0x55c20c]
call fcn.00404c80
mov eax, dword [ebp - 0x1f0]
lea edx, [ebp - 0x1ec]
call fcn.00408b5c
mov edx, dword [ebp - 0x1ec]
lea eax, [ebp - 0x1dc]
mov ecx, 0xff
call fcn.00404cb8
lea edx, [ebp - 0x1dc]
mov eax, dword [0x55c20c]
mov cl, 3
call fcn.00403218
mov eax, dword [0x55c22c]
cmp byte [eax], 0
jne 0x5040e2
mov eax, dword [0x55c20c]
mov edx, 0x53da2c
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.004032b8
je 0x5040e2
push 0
lea eax, [ebp - 0x1f4]
mov edx, dword [0x55b804]
call fcn.00404c80
mov eax, dword [ebp - 0x1f4]
mov cx, word [0x505218]
mov dl, 2
call fcn.00432838
mov eax, dword [0x55bcb4]
mov byte [eax], 0
jmp 0x505186
push ebp
push 0x504dd2
push dword fs:[0]
mov dword fs:[0], esp
mov eax, dword [0x55bee0]
mov dword [eax], 0xffffffff
mov eax, dword [0x55c7f8]
mov eax, dword [eax]
mov dx, 0xfff5
call fcn.0046c9c0
mov eax, dword [0x55c20c]
mov edx, 0x53da2c
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.004032b8
sete bl
test bl, bl
jne 0x50415c
mov eax, dword [0x55c20c]
mov edx, 0x53da20
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.004032b8
je 0x50415c
mov eax, dword [0x55c20c]
mov edx, 0x53da30
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.004032b8
jne 0x504999
mov eax, dword [0x55be74]
mov byte [eax], 0
mov dword [0x56ae94], 1
mov eax, dword [0x55c20c]
mov edx, 0x53da2c
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.004032b8
sete al
test bl, bl
je 0x504193
mov dword [0x56ae94], 2
mov eax, dword [0x55c20c]
mov edx, 0x53da30
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.004032b8
jne 0x5041bb
mov dword [0x56ae94], 3
mov eax, dword [0x55be74]
mov byte [eax], 1
mov dl, 1
mov eax, dword [0x56ae64]
mov ecx, dword [eax]
call dword [ecx - 4]
mov ecx, dword [ebp - 4]
mov dl, 1
mov eax, dword [0x5158a8]
call fcn.00518cd4
mov dword [0x56ae64], eax
xor edi, edi
mov eax, dword [0x55b1a8]
mov ebx, dword [0x55c460]
mov byte [eax], 0
mov byte [ebx], 0
inc edi
inc ebx
inc eax
cmp edi, 0x20
jne 0x5041e8
xor esi, esi
lea edx, [ebp - 0x1f8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
call fcn.00431814
mov eax, dword [ebp - 0x1f8]
call fcn.00404cdc
mov ebx, eax
test ebx, ebx
jle 0x504249
mov edi, 1
lea edx, [ebp - 0x1fc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
call fcn.00431814
mov eax, dword [ebp - 0x1fc]
cmp byte [eax + edi - 1], 0x5c
jne 0x504245
mov esi, edi
inc edi
dec ebx
jne 0x504222
lea edx, [ebp - 0x200]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
call fcn.00431814
mov edx, dword [ebp - 0x200]
mov eax, 0x56ae80
call fcn.00404a70
push 0x56ae80
lea edx, [ebp - 0x204]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
call fcn.00431814
mov eax, dword [ebp - 0x204]
call fcn.00404cdc
sub eax, esi
push eax
lea edx, [ebp - 0x208]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
call fcn.00431814
mov eax, dword [ebp - 0x208]
lea edx, [esi + 1]
pop ecx
call fcn.00404f3c
mov eax, dword [0x55bc08]
mov eax, dword [eax]
mov edx, dword [0x56ae80]
call fcn.0044f0dc
lea edx, [ebp - 0x20c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
call fcn.00431814
mov edx, dword [ebp - 0x20c]
mov eax, dword [0x56ae64]
add eax, 0x30
call fcn.00404a70
mov dl, 1
mov eax, dword [0x56ae64]
call fcn.00518d50
mov eax, dword [0x55bc08]
mov eax, dword [eax]
call fcn.004c3cec
mov eax, dword [0x55bc08]
mov eax, dword [eax]
mov eax, dword [eax + 0x2f8]
call fcn.0044f5e8
mov eax, dword [0x55c20c]
mov edx, 0x53da2c
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.004032b8
jne 0x5043f2
mov eax, dword [0x55c800]
mov byte [eax], 1
mov eax, dword [0x55c360]
mov dword [eax], 0x7fffffff
mov eax, dword [0x56ae64]
call fcn.00518d8c
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x50436b
inc ebx
xor edi, edi
mov edx, edi
mov eax, dword [0x56ae64]
call fcn.00519468
inc edi
dec ebx
jne 0x50435b
mov eax, dword [0x55c22c]
cmp byte [eax], 0
je 0x50437c
mov al, 1
call fcn.004aab64
mov eax, dword [ebp - 4]
call fcn.00503c54
mov eax, dword [0x55c06c]
mov byte [eax], 1
mov eax, dword [0x55bee0]
mov dword [eax], 0xffffffff
mov dl, 1
mov eax, dword [0x56ae64]
mov ecx, dword [eax]
call dword [ecx - 4]
mov ecx, dword [ebp - 4]
mov dl, 1
mov eax, dword [0x5158a8]
call fcn.00518cd4
mov dword [0x56ae64], eax
lea edx, [ebp - 0x210]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
call fcn.00431814
mov edx, dword [ebp - 0x210]
mov eax, dword [0x56ae64]
add eax, 0x30
call fcn.00404a70
mov dl, 1
mov eax, dword [0x56ae64]
call fcn.00518d50
mov eax, dword [0x55c06c]
mov byte [eax], 0
mov eax, dword [0x56ae64]
call fcn.00518d98
mov edx, dword [0x55c6a4]
mov dword [edx], eax
xor edi, edi
mov ebx, dword [0x55bd44]
mov byte [ebx], 0
inc edi
inc ebx
cmp edi, 0x10
jne 0x50440c
mov eax, dword [0x56ae64]
call fcn.00518d8c
test eax, eax
jle 0x50445d
mov eax, dword [0x56ae64]
call fcn.00518d8c
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x504448
inc ebx
xor edi, edi
mov edx, edi
mov eax, dword [0x56ae64]
call fcn.005193a4
inc edi
dec ebx
jne 0x504438
mov eax, dword [0x56ae64]
call fcn.00518d8c
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x50445d
inc ebx
dec ebx
jne 0x50445a
xor ecx, ecx
xor edi, edi
mov eax, dword [0x55b1d4]
movzx eax, byte [eax]
imul edi
mov edx, eax
inc edx
mov ebx, dword [0x55ba7c]
cmp byte [ebx + edx], 0x3f
jne 0x5044b4
mov ecx, dword [0x55b1d4]
mov ecx, dword [0x55ba7c]
mov byte [ecx + edx], 0
mov edx, dword [0x55b1d4]
mov edx, eax
add edx, 2
mov ecx, dword [0x55ba7c]
mov byte [ecx + edx], 0
mov edx, dword [0x55b1d4]
add eax, 3
mov edx, dword [0x55ba7c]
mov byte [edx + eax], 0
mov cl, 1
inc edi
cmp edi, 0x20
jne 0x504461
test cl, cl
je 0x5044d3
push 0
mov cx, word [0x505218]
mov dl, 2
mov eax, 0x505224
call fcn.00432838
mov eax, dword [0x55c388]
cmp dword [eax], 1
jne 0x5044ef
mov eax, dword [0x55be48]
cmp byte [eax], 0
jne 0x5044ef
xor edi, edi
inc edi
cmp edi, 0x20
jne 0x5044e9
mov eax, dword [0x55c388]
cmp dword [eax], 0
jne 0x50450b
mov eax, dword [0x55be48]
cmp byte [eax], 1
jne 0x50450b
xor edi, edi
inc edi
cmp edi, 0x10
jne 0x504505
call fcn.005035e0
mov eax, dword [0x55b2ac]
cmp byte [eax], 0
je 0x504526
mov eax, dword [0x55bc08]
mov eax, dword [eax]
call fcn.004e5dfc
mov eax, dword [0x55bc08]
mov eax, dword [eax]
call fcn.004de144
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.0050366c
mov eax, dword [0x55c28c]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x55c384]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x55bbb8]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x55b618]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x55baf4]
mov byte [eax], 1
mov eax, dword [0x55baf4]
mov byte [eax + 1], 1
mov eax, dword [0x55baf4]
mov byte [eax + 2], 1
mov eax, dword [0x55baf4]
mov byte [eax + 3], 1
mov eax, dword [0x55c6fc]
cmp dword [eax], 0
jle 0x504639
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00506208
and eax, 0xff
mov edx, dword [0x55c28c]
mov dword [edx], eax
mov ecx, dword [0x55be54]
mov edx, dword [0x55c28c]
mov edx, dword [edx]
mov eax, dword [0x55bc08]
mov eax, dword [eax]
call fcn.004eb05c
mov edi, 1
mov ebx, dword [0x55b880]
mov eax, dword [0x55be54]
mov esi, 1
mov edx, ebx
mov dword [ebp - 0x18], edx
mov edx, eax
mov dword [ebp - 0x1c], edx
mov edx, dword [ebp - 0x18]
cmp byte [edx], 0xff
je 0x5045f3
mov edx, dword [ebp - 0x18]
mov dl, byte [edx]
mov ecx, dword [ebp - 0x1c]
mov byte [ecx], dl
inc esi
inc dword [ebp - 0x1c]
inc dword [ebp - 0x18]
cmp esi, 0x19
jne 0x5045e1
inc edi
add eax, 0x18
add ebx, 0x18
cmp edi, 0x50
jne 0x5045d2
mov edx, dword [0x55b880]
mov eax, dword [0x55be54]
mov ecx, 0x768
call fcn.00402a7c
mov eax, dword [0x55c830]
mov eax, dword [eax]
mov edx, dword [0x55bf44]
mov dword [edx], eax
mov eax, dword [0x55c850]
mov byte [eax], 1
jmp 0x50466a
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00506208
and eax, 0xff
mov edx, dword [0x55c28c]
mov dword [edx], eax
mov ecx, dword [0x55b880]
mov edx, dword [0x55c28c]
mov edx, dword [edx]
mov eax, dword [0x55bc08]
mov eax, dword [eax]
call fcn.004eb05c
mov eax, dword [0x55c818]
cmp dword [eax], 0
jle 0x504720
mov dl, 3
mov eax, dword [ebp - 4]
call fcn.00506208
and eax, 0xff
mov edx, dword [0x55c384]
mov dword [edx], eax
mov ecx, dword [0x55bf54]
mov edx, dword [0x55c384]
mov edx, dword [edx]
mov eax, dword [0x55bc08]
mov eax, dword [eax]
call fcn.004eb05c
mov edi, 1
mov eax, dword [0x55b97c]
mov ebx, dword [0x55bf54]
mov esi, 1
mov edx, eax
mov dword [ebp - 0x20], edx
mov edx, ebx
mov dword [ebp - 0x24], edx
mov edx, dword [ebp - 0x20]
cmp byte [edx], 0xff
je 0x5046da
mov edx, dword [ebp - 0x20]
mov dl, byte [edx]
mov ecx, dword [ebp - 0x24]
mov byte [ecx], dl
inc esi
inc dword [ebp - 0x24]
inc dword [ebp - 0x20]
cmp esi, 0x19
jne 0x5046c8
inc edi
add ebx, 0x18
add eax, 0x18
cmp edi, 0x50
jne 0x5046b9
mov edx, dword [0x55b97c]
mov eax, dword [0x55bf54]
mov ecx, 0x768
call fcn.00402a7c
mov eax, dword [0x55b1e0]
mov eax, dword [eax]
mov edx, dword [0x55c028]
mov dword [edx], eax
mov eax, dword [0x55b234]
mov byte [eax], 1
jmp 0x504751
mov dl, 3
mov eax, dword [ebp - 4]
call fcn.00506208
and eax, 0xff
mov edx, dword [0x55c384]
mov dword [edx], eax
mov ecx, dword [0x55b97c]
mov edx, dword [0x55c384]
mov edx, dword [edx]
mov eax, dword [0x55bc08]
mov eax, dword [eax]
call fcn.004eb05c
mov eax, dword [0x55c088]
cmp dword [eax], 0
jle 0x5047f0
mov dl, 4
mov eax, dword [ebp - 4]
call fcn.00506208
and eax, 0xff
mov edx, dword [0x55bbb8]
mov dword [edx], eax
mov ecx, dword [0x55b760]
mov edx, dword [0x55bbb8]
mov edx, dword [edx]
mov eax, dword [0x55bc08]
mov eax, dword [eax]
call fcn.004eb05c
mov edi, 1
mov ebx, dword [0x55c88c]
mov eax, dword [0x55b760]
mov esi, 1
mov edx, ebx
mov dword [ebp - 0x28], edx
mov edx, eax
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x28]
cmp byte [edx], 0xff
je 0x5047c1
mov edx, dword [ebp - 0x28]
mov dl, byte [edx]
mov ecx, dword [ebp - 0x2c]
mov byte [ecx], dl
inc esi
inc dword [ebp - 0x2c]
inc dword [ebp - 0x28]
cmp esi, 0x19
jne 0x5047af
inc edi
add eax, 0x18
add ebx, 0x18
cmp edi, 0x50
jne 0x5047a0
mov edx, dword [0x55c88c]
mov eax, dword [0x55b760]
mov ecx, 0x768
call fcn.00402a7c
jmp 0x504821
mov dl, 4
mov eax, dword [ebp - 4]
call fcn.00506208
and eax, 0xff
mov edx, dword [0x55bbb8]
mov dword [edx], eax
mov ecx, dword [0x55c88c]
mov edx, dword [0x55bbb8]
mov edx, dword [edx]
mov eax, dword [0x55bc08]
mov eax, dword [eax]
call fcn.004eb05c
mov eax, dword [0x55babc]
cmp dword [eax], 0
jle 0x5048c0
mov dl, 5
mov eax, dword [ebp - 4]
call fcn.00506208
and eax, 0xff
mov edx, dword [0x55b618]
mov dword [edx], eax
mov ecx, dword [0x55c8a0]
mov edx, dword [0x55b618]
mov edx, dword [edx]
mov eax, dword [0x55bc08]
mov eax, dword [eax]
call fcn.004eb05c
mov edi, 1
mov eax, dword [0x55c2dc]
mov ebx, dword [0x55c8a0]
mov esi, 1
mov edx, eax
mov dword [ebp - 0x30], edx
mov edx, ebx
mov dword [ebp - 0x34], edx
mov edx, dword [ebp - 0x30]
cmp byte [edx], 0xff
je 0x504891
mov edx, dword [ebp - 0x30]
mov dl, byte [edx]
mov ecx, dword [ebp - 0x34]
mov byte [ecx], dl
inc esi
inc dword [ebp - 0x34]
inc dword [ebp - 0x30]
cmp esi, 0x19
jne 0x50487f
inc edi
add ebx, 0x18
add eax, 0x18
cmp edi, 0x50
jne 0x504870
mov edx, dword [0x55c2dc]
mov eax, dword [0x55c8a0]
mov ecx, 0x768
call fcn.00402a7c
jmp 0x5048f1
mov dl, 5
mov eax, dword [ebp - 4]
call fcn.00506208
and eax, 0xff
mov edx, dword [0x55b618]
mov dword [edx], eax
mov ecx, dword [0x55c2dc]
mov edx, dword [0x55b618]
mov edx, dword [edx]
mov eax, dword [0x55bc08]
mov eax, dword [eax]
call fcn.004eb05c
mov eax, dword [0x55b554]
mov dword [eax], 1
mov eax, dword [0x55bc08]
mov eax, dword [eax]
call fcn.004d43e8
mov eax, dword [0x55bc08]
mov eax, dword [eax]
call fcn.004d4574
mov eax, dword [0x55bc08]
mov eax, dword [eax]
call fcn.004d4700
mov eax, dword [0x55bc08]
mov eax, dword [eax]
call fcn.004d488c
call fcn.0051484c
mov ecx, dword [0x55b880]
mov edx, dword [0x55c28c]
mov edx, dword [edx]
mov eax, dword [0x55bc08]
mov eax, dword [eax]
call fcn.004eb05c
mov ecx, dword [0x55b97c]
mov edx, dword [0x55c384]
mov edx, dword [edx]
mov eax, dword [0x55bc08]
mov eax, dword [eax]
call fcn.004eb05c
mov ecx, dword [0x55c88c]
mov edx, dword [0x55bbb8]
mov edx, dword [edx]
mov eax, dword [0x55bc08]
mov eax, dword [eax]
call fcn.004eb05c
mov ecx, dword [0x55c2dc]
mov edx, dword [0x55b618]
mov edx, dword [edx]
mov eax, dword [0x55bc08]
mov eax, dword [eax]
call fcn.004eb05c
mov eax, dword [0x55c388]
cmp dword [eax], 0
jne 0x5049ab
xor edi, edi
inc edi
cmp edi, 0x10
jne 0x5049a5
mov eax, dword [0x55b2ac]
cmp byte [eax], 0
je 0x5049c1
mov eax, dword [0x55bc08]
mov eax, dword [eax]
call fcn.004e5dfc
mov eax, dword [0x55bc08]
mov eax, dword [eax]
call fcn.004c3cec
mov eax, dword [0x55bc08]
mov eax, dword [eax]
call fcn.004c3b6c
xor edi, edi
mov ebx, dword [0x55b1d0]
add ebx, 0x20
test edi, 1
jne 0x504a17
mov eax, dword [0x55bd84]
movzx eax, byte [eax]
imul edi
inc eax
mov edx, dword [0x55b1f0]
cmp byte [edx + eax], 0x12
jb 0x504a2d
mov edx, edi
add dl, 0x20
inc edx
mov eax, dword [0x55bc08]
mov eax, dword [eax]
call fcn.004c2448
jmp 0x504a2d
cmp byte [ebx], 1
jne 0x504a2d
mov edx, edi
add dl, 0x20
mov eax, dword [0x55bc08]
mov eax, dword [eax]
call fcn.004c2448
inc edi
inc ebx
cmp edi, 0xe
jne 0x5049e4
mov eax, dword [0x55bc08]
mov eax, dword [eax]
mov eax, dword [eax + 0x368]
mov dl, 1
call fcn.0044efcc
mov eax, dword [0x55bc08]
mov eax, dword [eax]
call fcn.004d4e04
mov eax, dword [0x55bdb4]
mov eax, dword [eax]
mov edx, dword [0x55b2bc]
add eax, dword [edx]
mov edx, dword [0x55b8b0]
add eax, dword [edx]
mov edx, dword [0x55bd28]
add eax, dword [edx]
mov edx, dword [0x55c18c]
add eax, dword [edx]
mov edx, dword [0x55b43c]
add eax, dword [edx]
mov edx, dword [0x55b528]
add eax, dword [edx]
mov edx, dword [0x55bbdc]
add eax, dword [edx]
mov edx, dword [0x55c7bc]
add eax, dword [edx]
mov edx, dword [0x55c6fc]
add eax, dword [edx]
mov edx, dword [0x55c818]
add eax, dword [edx]
mov edx, dword [0x55c088]
add eax, dword [edx]
mov edx, dword [0x55babc]
add eax, dword [edx]
mov edx, dword [0x55b2b8]
mov dword [edx], eax
mov edx, dword [0x55b2b8]
mov edx, dword [edx]
mov eax, dword [0x55bc08]
mov eax, dword [eax]
mov eax, dword [eax + 0x36c]
call fcn.0043ae00
mov eax, dword [0x55bc08]
mov eax, dword [eax]
mov eax, dword [eax + 0x36c]
xor edx, edx
call fcn.0043ae10
mov eax, dword [0x55bc08]
mov eax, dword [eax]
call fcn.004ceb38
mov eax, dword [0x55b600]
cmp dword [eax], 0
jle 0x504b0c
call fcn.004ae5f4
mov eax, dword [0x55bc08]
mov eax, dword [eax]
call fcn.004cec00
mov eax, dword [0x55bc08]
mov eax, dword [eax]
call fcn.004cee20
mov eax, dword [0x55b8b0]
cmp dword [eax], 0
jle 0x504b3c
mov eax, dword [0x55bc08]
mov eax, dword [eax]
mov dl, 1
call fcn.004ce438
mov eax, dword [0x55bd28]
cmp dword [eax], 0
jle 0x504b54
mov eax, dword [0x55bc08]
mov eax, dword [eax]
mov dl, 1
call fcn.004ce544
mov eax, dword [0x55c18c]
cmp dword [eax], 0
jle 0x504b6c
mov eax, dword [0x55bc08]
mov eax, dword [eax]
mov dl, 1
call fcn.004ce648
mov eax, dword [0x55b43c]
cmp dword [eax], 0
jle 0x504b84
mov eax, dword [0x55bc08]
mov eax, dword [eax]
mov dl, 1
call fcn.004ce74c
mov eax, dword [0x55b528]
cmp dword [eax], 0
jle 0x504b9c
mov eax, dword [0x55bc08]
mov eax, dword [eax]
mov dl, 1
call fcn.004ce858
mov eax, dword [0x55bbdc]
cmp dword [eax], 0
jle 0x504bb4
mov eax, dword [0x55bc08]
mov eax, dword [eax]
mov dl, 1
call fcn.004ce95c
mov eax, dword [0x55c7bc]
cmp dword [eax], 0
jle 0x504bcc
mov eax, dword [0x55bc08]
mov eax, dword [eax]
mov dl, 1
call fcn.004cea68
mov eax, dword [0x55bc08]
mov eax, dword [eax]
call fcn.004d4a14
mov eax, dword [0x55c2e0]
mov dl, byte [ebp - 0x11]
mov byte [eax + 4], dl
lea edx, [ebp - 0x214]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
call fcn.00431814
mov edx, dword [ebp - 0x214]
mov eax, 0x53d964
call fcn.00404a70
lea edx, [ebp - 0x218]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
call fcn.00431814
mov edx, dword [ebp - 0x218]
mov eax, 0x53d970
call fcn.00404a70
mov eax, dword [0x55ba14]
cmp byte [eax], 0
jne 0x504d08
mov edx, 0x56ae84
xor eax, eax
call fcn.004029e4
lea edx, [ebp - 0x21c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
call fcn.00431814
mov edx, dword [ebp - 0x21c]
mov eax, dword [0x56ae78]
mov ecx, dword [eax]
call dword [ecx + 0x54]
mov edi, eax
cmp edi, 0xffffffff
jne 0x504cc1
mov eax, dword [0x56ae78]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 4
jne 0x504c8e
mov edx, 3
mov eax, dword [0x56ae78]
mov ecx, dword [eax]
call dword [ecx + 0x48]
lea edx, [ebp - 0x220]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
call fcn.00431814
mov ecx, dword [ebp - 0x220]
xor edx, edx
mov eax, dword [0x56ae78]
mov ebx, dword [eax]
call dword [ebx + 0x60]
mov eax, dword [ebp - 4]
call fcn.00508ea4
jmp 0x504da6
test edi, edi
jle 0x504da6
mov edx, edi
mov eax, dword [0x56ae78]
mov ecx, dword [eax]
call dword [ecx + 0x48]
lea edx, [ebp - 0x224]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
call fcn.00431814
mov ecx, dword [ebp - 0x224]
xor edx, edx
mov eax, dword [0x56ae78]
mov ebx, dword [eax]
call dword [ebx + 0x60]
mov eax, dword [ebp - 4]
call fcn.00508ea4
jmp 0x504da6
lea edx, [ebp - 0x22c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
call fcn.00431814
mov eax, dword [ebp - 0x22c]
lea edx, [ebp - 0x228]
call fcn.004096dc
mov edx, dword [ebp - 0x228]
mov eax, 0x56ae84
call fcn.00404a70
lea edx, [ebp - 0x230]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
call fcn.00431814
mov edx, dword [ebp - 0x230]
mov eax, dword [0x56ae78]
mov ecx, dword [eax]
call dword [ecx + 0x54]
mov edi, eax
cmp edi, 0xffffffff
jle 0x504da6
test edi, edi
jle 0x504da6
mov edx, edi
mov eax, dword [0x56ae78]
mov ecx, dword [eax]
call dword [ecx + 0x48]
lea edx, [ebp - 0x234]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
call fcn.00431814
mov ecx, dword [ebp - 0x234]
xor edx, edx
mov eax, dword [0x56ae78]
mov ebx, dword [eax]
call dword [ebx + 0x60]
mov eax, dword [ebp - 4]
call fcn.00508ea4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x504dd9
mov eax, dword [0x55c7f8]
mov eax, dword [eax]
xor edx, edx
call fcn.0046c9c0
mov eax, dword [0x55ba14]
mov byte [eax], 0
mov eax, dword [ebp - 4]
call fcn.00506ed0
ret
mov eax, dword [0x55bcb4]
mov byte [eax], 0
mov eax, dword [0x55c818]
xor edx, edx
mov dword [eax], edx
mov edi, 1
mov ebx, dword [0x55b3ac]
mov eax, dword [0x55b358]
mov esi, 1
mov edx, ebx
mov dword [ebp - 0x38], edx
mov edx, eax
mov dword [ebp - 0x3c], edx
mov edx, dword [ebp - 0x38]
mov dl, byte [edx]
mov ecx, dword [ebp - 0x3c]
cmp dl, byte [ecx]
je 0x504e1d
mov edx, dword [0x55c818]
inc dword [edx]
inc esi
inc dword [ebp - 0x3c]
inc dword [ebp - 0x38]
cmp esi, 0x11
jne 0x504e09
inc edi
add eax, 0x10
add ebx, 0x18
cmp edi, 0x50
jne 0x504dfa
mov eax, dword [0x55bc08]
mov eax, dword [eax]
mov eax, dword [eax + 0x368]
xor edx, edx
call fcn.0044efcc
mov eax, dword [0x55bc08]
mov eax, dword [eax]
mov eax, dword [eax + 0x2f8]
call fcn.0044f5e8
mov eax, dword [0x55b360]
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], edx
cmp dword [0x56ae64], 0
je 0x504e7b
mov eax, dword [0x56ae64]
cmp byte [eax + 0x3d], 0
jne 0x504eaf
xor eax, eax
call fcn.004a9cd8
xor eax, eax
call fcn.004a9dd8
xor eax, eax
call fcn.004a9ad8
xor eax, eax
call fcn.004a9bd8
mov eax, dword [0x55c64c]
mov byte [eax], 0
mov eax, dword [0x55bee0]
mov dword [eax], 0xffffffff
jmp 0x5050c5
mov eax, dword [0x55c64c]
mov byte [eax], 0
mov eax, dword [0x55b8d4]
mov byte [eax], 0
mov eax, dword [0x56ae64]
call fcn.00518d8c
test eax, eax
jle 0x504f4a
mov eax, dword [0x55b7c8]
mov dword [eax], 0x7fffffff
mov eax, dword [0x56ae64]
call fcn.00518d8c
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x504f4a
inc ebx
xor edi, edi
mov edx, edi
mov eax, dword [0x56ae64]
call fcn.005193e0
mov edx, edi
mov eax, dword [0x56ae64]
call fcn.00519420
mov edx, edi
mov eax, dword [0x56ae64]
call fcn.00519390
cmp dword [eax + 0x14], 0
jle 0x504f46
mov edx, edi
mov eax, dword [0x56ae64]
call fcn.00519390
mov eax, dword [eax + 0x14]
mov edx, dword [0x55b7c8]
cmp eax, dword [edx]
jge 0x504f46
mov edx, edi
mov eax, dword [0x56ae64]
call fcn.00519390
mov eax, dword [eax + 0x14]
mov edx, dword [0x55b7c8]
mov dword [edx], eax
inc edi
dec ebx
jne 0x504eec
mov eax, dword [0x55b8d4]
cmp byte [eax], 0
je 0x505064
mov eax, dword [0x55c64c]
mov byte [eax], 1
mov eax, dword [0x55bc08]
mov eax, dword [eax]
mov dl, 1
call fcn.004ebea4
mov eax, dword [0x55bc08]
mov eax, dword [eax]
mov dl, 1
call fcn.004ec4b8
mov eax, dword [0x55bc08]
mov eax, dword [eax]
mov dl, 1
call fcn.004ec644
mov eax, dword [0x55bc08]
mov eax, dword [eax]
mov dl, 1
call fcn.004ec754
mov eax, dword [0x55bc08]
mov eax, dword [eax]
call fcn.004b8718
mov edx, dword [0x56ae64]
mov eax, dword [0x56ae6c]
call fcn.0050ba48
mov eax, dword [0x56ae6c]
call fcn.0050c2d8
mov ecx, dword [0x55c0c8]
mov ecx, dword [ecx]
mov eax, dword [0x55bc08]
mov eax, dword [eax]
xor edx, edx
call fcn.004e8aa8
mov ecx, dword [0x55bc24]
mov ecx, dword [ecx]
mov eax, dword [0x55bc08]
mov eax, dword [eax]
mov dl, 1
call fcn.004e8aa8
mov eax, dword [0x55bb2c]
cmp byte [eax], 0
je 0x505000
mov eax, dword [0x55bc08]
mov eax, dword [eax]
call fcn.004edc7c
mov eax, dword [0x55c2a4]
cmp byte [eax], 0
je 0x505016
mov eax, dword [0x55bc08]
mov eax, dword [eax]
call fcn.004ede50
mov eax, dword [0x55c700]
mov eax, dword [eax]
mov dl, 1
call fcn.00467ee4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x580]
mov dl, 1
call fcn.00460b54
mov eax, dword [0x56ae7c]
cmp byte [eax + 0x57], 0
je 0x50504c
mov eax, dword [0x56ae7c]
mov edx, dword [eax]
call dword [edx + 0xc4]
mov eax, dword [0x55c0b4]
cmp byte [eax], 0
je 0x5050c5
mov eax, dword [0x55bc08]
mov eax, dword [eax]
call fcn.004ecaec
jmp 0x5050c5
mov eax, dword [0x55c700]
mov eax, dword [eax]
xor edx, edx
call fcn.00467ee4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x580]
xor edx, edx
call fcn.00460b54
mov eax, dword [0x55bc08]
mov eax, dword [eax]
xor edx, edx
call fcn.004ebea4
mov eax, dword [0x55bc08]
mov eax, dword [eax]
xor edx, edx
call fcn.004ec4b8
mov eax, dword [0x55bc08]
mov eax, dword [eax]
xor edx, edx
call fcn.004ec644
mov eax, dword [0x55bc08]
mov eax, dword [eax]
xor edx, edx
call fcn.004ec754
mov eax, dword [0x55bee0]
mov dword [eax], 0xffffffff
mov eax, dword [0x55bc08]
mov eax, dword [eax]
call fcn.004ebc90
mov eax, dword [0x55bc08]
mov eax, dword [eax]
call fcn.004ebe18
push 0x19
push 0xb
push 0xfffffffffffffff7
lea edx, [ebp - 0x238]
mov eax, dword [0x55c4b4]
movzx eax, word [eax]
call fcn.00409014
mov eax, dword [ebp - 0x238]
push eax
mov eax, dword [0x55b508]
mov eax, dword [eax]
push eax
push 1
mov eax, dword [0x55bc08]
mov eax, dword [eax]
mov eax, dword [eax + 0x2f8]
call fcn.00434e70
mov ecx, dword [0x55bfb8]
mov ecx, dword [ecx + 0xf4]
add ecx, 2
mov edx, dword [0x55bfb8]
mov edx, dword [edx + 0xf0]
add edx, 2
call fcn.00484368
mov eax, dword [0x55c4dc]
mov dword [eax], 8
mov eax, dword [0x55c6b8]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x55bc9c]
mov dword [eax], 7
mov eax, dword [0x55bc08]
mov eax, dword [eax]
mov edx, 1
call fcn.004d8880
mov eax, dword [ebp - 4]
call fcn.00505280
mov eax, dword [0x55bc08]
mov eax, dword [eax]
mov eax, dword [eax + 0x2f8]
call fcn.0044f5e8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5051fe
lea eax, [ebp - 0x238]
call fcn.00404a1c
lea eax, [ebp - 0x234]
mov edx, 3
call fcn.00404a40
lea eax, [ebp - 0x228]
call fcn.00404a1c
lea eax, [ebp - 0x224]
mov edx, 0xc
call fcn.00404a40
lea eax, [ebp - 0x1f4]
mov edx, 3
call fcn.00404a40
lea eax, [ebp - 0x1e8]
mov edx, 3
call fcn.00404a40
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.00404a40
ret