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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x67572a
mov eax, dword fs:[0]
push eax
sub esp, 0x2c8
mov eax, dword [0x6d35d0]
xor eax, esp
mov dword [esp + 0x2c0], eax
push ebx
push esi
push edi
mov eax, dword [0x6d35d0]
xor eax, esp
push eax
lea eax, [esp + 0x2d8]
mov dword fs:[0], eax
mov dword [esp + 0x54], ecx
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x60], esi
mov dword [esp + 0x58], edi
mov dword [esp + 0x14], ebx
test esi, esi
je 0x5dd8fe
test edi, edi
je 0x5dd8fe
test ebx, ebx
je 0x5dd8fe
cmp dword [ebp + 0x14], 0
jg 0x5dd806
mov eax, dword [edi]
push 0xffffffffffffffff
push ecx
push ecx
mov ecx, edi
fldz
fst dword [esp + 4]
fstp dword [esp]
call dword [eax + 0x74]
jmp 0x5dd900
cmp dword [ebp + 0x14], 0x3ff
jl 0x5dd819
mov eax, dword [ebx]
push 0xffffffffffffffff
push ecx
push ecx
mov ecx, ebx
jmp 0x5dd7f5
mov ecx, esi
call fcn.00472726
mov eax, dword [eax + 0xa4]
cmp eax, 2
jb 0x5de33a
push 4
push ecx
mov ecx, esi
call fcn.00472726
add esp, 4
call fcn.004f9f8e
test al, al
je 0x5de33a
mov eax, dword [edi]
lea ecx, [esp + 0x24]
push ecx
mov ecx, edi
call dword [eax + 0x14]
cmp dword [eax], 1
jne 0x5de33a
mov eax, dword [edi]
lea ecx, [esp + 0x24]
push ecx
mov ecx, edi
call dword [eax + 0x14]
cmp dword [eax + 4], 1
jne 0x5de33a
test byte [0x1022da0], 1
jne 0x5dd899
or dword [0x1022da0], 1
mov esi, 0x10223d8
call fcn.0049b413
push 0x676e23
call fcn.0062d063
pop ecx
lea ecx, [esp + 0x1ec]
call fcn.004b6dc1
cmp dword [ebp + 0x14], 0x200
jge 0x5dddfb
and dword [esp + 0x2e0], 0
mov eax, dword [edi]
lea ecx, [esp + 0x14]
push ecx
mov ecx, edi
call dword [eax + 0x1c]
mov eax, dword [eax + 4]
push 0
push 1
push 0x15
mov esi, 0x100
push esi
push eax
lea ecx, [esp + 0x200]
mov dword [esp + 0x28], eax
call fcn.004b6f38
test al, al
jne 0x5dd926
or dword [esp + 0x2e0], 0xffffffff
lea ecx, [esp + 0x1ec]
call fcn.004b6ebc
xor al, al
mov ecx, dword [esp + 0x2d8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x2c0]
xor ecx, esp
call fcn.0062c8b8
mov esp, ebp
pop ebp
ret 0x20
lea ecx, [esp + 0x1f4]
call fcn.004b7de4
test al, al
je 0x5dd8ea
lea ecx, [esp + 0x1f4]
call fcn.004b7f25
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0x14]
imul eax, eax, 0x64
cdq
and edx, 0x1ff
add eax, edx
mov ebx, eax
sar ebx, 9
mov dword [esp + 0x38], esi
push ebx
mov edx, 0x10223d8
call fcn.0049b551
xor esi, esi
cmp dword [esp + 0x14], esi
mov dword [esp + 0x30], eax
jle 0x5dd9e8
mov eax, ebx
cdq
sub eax, edx
mov dword [esp + 0x40], eax
sar dword [esp + 0x40], 1
push dword [esp + 0x40]
mov edx, 0x10223d8
call fcn.0049b551
add eax, dword [esp + 0x40]
jne 0x5dd9a4
mov eax, dword [esp + 0x20]
mov dword [eax + esi*4], 0x80808080
inc esi
jmp 0x5dd9e2
mov dword [esp + 0x10], eax
neg dword [esp + 0x10]
jmp 0x5dd9dc
cmp esi, dword [esp + 0x14]
jge 0x5dd9e8
cmp dword [esp + 0x30], 0
jle 0x5dd9c1
dec dword [esp + 0x30]
jmp 0x5dd9db
mov edx, dword [esp + 0x20]
lea ecx, [eax - 0x80]
and ecx, 0xff
shl ecx, 8
or ecx, 0x80800080
mov dword [edx + esi*4], ecx
inc esi
dec eax
cmp eax, dword [esp + 0x10]
jge 0x5dd9ae
cmp esi, dword [esp + 0x14]
jl 0x5dd982
lea ecx, [esp + 0x1f4]
call fcn.004b7f6f
add dword [esp + 0x20], eax
dec dword [esp + 0x38]
jne 0x5dd95e
lea ecx, [esp + 0x1f4]
call fcn.004b7e76
mov eax, dword [edi]
lea ecx, [esp + 0x24]
push ecx
mov ecx, edi
call dword [eax + 0x1c]
fild dword [eax]
mov eax, dword [edi]
lea ecx, [esp + 0x48]
push ecx
fstp qword [esp + 0x18]
mov ecx, edi
call dword [eax + 0x24]
fild dword [eax]
mov eax, dword [edi]
lea ecx, [esp + 0x24]
fdivr qword [esp + 0x14]
push ecx
mov ecx, edi
fstp dword [esp + 0x3c]
call dword [eax + 0x1c]
fild dword [eax + 4]
mov eax, dword [edi]
lea ecx, [esp + 0x48]
push ecx
mov ecx, edi
fstp qword [esp + 0x18]
call dword [eax + 0x24]
fild dword [eax + 4]
lea eax, [esp + 0x24]
push eax
fdivr qword [esp + 0x18]
lea ecx, [esp + 0x1f8]
fstp dword [esp + 0x34]
call fcn.004b7cd4
fild dword [eax]
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x1f8]
fstp qword [esp + 0x18]
call fcn.004b7d0b
fild dword [eax]
mov eax, dword [edi]
lea ecx, [esp + 0x14]
push ecx
fdivr qword [esp + 0x18]
mov ecx, edi
fstp dword [esp + 0x28]
call dword [eax + 0x1c]
fild dword [eax]
fmul qword [0x6a2640]
fstp dword [esp + 0x48]
fild dword [ebp + 0x18]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld1
fsub st(1), st(0)
fldz
fadd st(2), st(0)
fxch st(2)
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fstp dword [esp + 0x10c]
fild dword [ebp + 0x1c]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fsub st(1)
fadd st(2)
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fstp dword [esp + 0x110]
fldz
fst dword [esp + 0x114]
fst dword [esp + 0x118]
fld dword [esp + 0x30]
fstp dword [esp + 0x11c]
fst dword [esp + 0x120]
fld dword [esp + 0x48]
fstp dword [esp + 0x124]
fld dword [esp + 0x50]
fstp dword [esp + 0x128]
lea eax, [esp + 0xc4]
fld dword [esp + 0x20]
fadd st(2)
fadd st(3)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp + 0x12c]
fst dword [esp + 0x130]
fst dword [esp + 0x134]
fst dword [esp + 0x138]
fst dword [esp + 0x13c]
fst dword [esp + 0x140]
fld dword [esp + 0x10]
faddp st(2)
fxch st(1)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [esp + 0x144]
fld dword [esp + 0x40]
fstp dword [esp + 0x148]
fst dword [esp + 0x14c]
fld dword [esp + 0x38]
fstp dword [esp + 0x150]
fld dword [esp + 0x30]
fstp dword [esp + 0x154]
fld dword [esp + 0x24]
fstp dword [esp + 0x158]
fld dword [esp + 0x48]
fstp dword [esp + 0x15c]
fld dword [esp + 0x10]
fstp dword [esp + 0x160]
fld dword [esp + 0x20]
fstp dword [esp + 0x164]
fst dword [esp + 0x168]
fld dword [esp + 0x38]
fstp dword [esp + 0x16c]
fst dword [esp + 0x170]
fld dword [esp + 0x24]
fstp dword [esp + 0x174]
fstp dword [esp + 0x178]
call fcn.004fe11a
push 0
push 1
push 4
push 0x202
push 0x1c
xor ebx, ebx
mov byte [esp + 0x2f4], 1
call fcn.004fe1d1
lea ecx, [esp + 0xc4]
test al, al
jne 0x5ddc3c
mov byte [esp + 0x2e0], bl
call fcn.004fe186
jmp 0x5dd8ea
call fcn.004fe2b9
test al, al
jne 0x5ddc55
mov byte [esp + 0x2e0], bl
lea ecx, [esp + 0xc4]
jmp 0x5ddc32
mov edi, dword [esp + 0xec]
push 0x1c
pop ecx
lea esi, [esp + 0x10c]
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0xc4]
call fcn.004fe2fa
mov ebx, dword [esp + 0x60]
push 1
push 1
xor edi, edi
mov ecx, ebx
call fcn.00470965
inc edi
push edi
push edi
mov ecx, ebx
call fcn.00470965
mov esi, dword [esp + 0x58]
mov eax, dword [esi]
push 0
push 0
mov ecx, esi
call dword [eax + 0x28]
test eax, eax
je 0x5ddca7
lea ecx, [eax + 8]
jmp 0x5ddca9
xor ecx, ecx
push 0
mov edi, ebx
call fcn.00470889
push 1
lea ecx, [esp + 0x1f8]
call fcn.00470889
mov eax, dword [esp + 0x54]
mov edi, dword [eax + 0x10]
mov ecx, ebx
call fcn.0046f7a6
mov eax, dword [esp + 0x54]
mov edi, dword [eax + 0x40]
mov ecx, ebx
call fcn.00471159
lea edi, [esp + 0xc4]
mov ecx, ebx
call fcn.0046f8e7
mov eax, dword [esi]
lea ecx, [esp + 0x14]
push ecx
mov ecx, esi
call dword [eax + 0x1c]
fild dword [eax + 4]
fld1
mov eax, dword [esi]
fdivrp st(1)
lea ecx, [esp + 0x14]
push ecx
mov ecx, esi
fmul qword [0x6a1600]
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x68]
fst dword [esp + 0x6c]
fst dword [esp + 0x70]
fstp dword [esp + 0x74]
fld dword [esp + 0x3c]
fstp dword [esp + 0x78]
fld dword [esp + 0x34]
fstp dword [esp + 0x7c]
fldz
fst dword [esp + 0x80]
fst dword [esp + 0x84]
fst dword [esp + 0x88]
fst dword [esp + 0x8c]
fst dword [esp + 0x90]
fstp dword [esp + 0x94]
call dword [eax + 0x1c]
fld dword [esp + 0x38]
fidiv dword [eax]
lea ecx, [esp + 0x58]
mov eax, dword [esi]
push ecx
mov ecx, esi
fstp dword [esp + 0x98]
fld dword [esp + 0x34]
fstp qword [esp + 0x18]
call dword [eax + 0x1c]
fild dword [eax + 4]
push 4
lea eax, [esp + 0x68]
push eax
fdivr qword [esp + 0x1c]
mov ecx, ebx
fstp dword [esp + 0xa0]
fldz
fst dword [esp + 0xa4]
fstp dword [esp + 0xa8]
call fcn.004711f8
push 6
pop ecx
push 5
pop edi
mov edx, ebx
call fcn.004702b8
mov ecx, ebx
call fcn.004715da
xor edi, edi
mov ecx, ebx
call fcn.0046f7a6
mov ecx, ebx
call fcn.00471159
mov ecx, ebx
call fcn.0046f8e7
push edi
xor ecx, ecx
mov edi, ebx
call fcn.00470889
push 1
xor ecx, ecx
call fcn.00470889
mov byte [esp + 0x2e0], 0
jmp 0x5de313
lea ecx, [esp + 0x24]
mov dword [esp + 0x2e0], 2
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0x1c]
mov eax, dword [eax + 4]
push 0
push 1
push 0x15
mov esi, 0x100
push esi
push eax
lea ecx, [esp + 0x200]
mov dword [esp + 0x5c], eax
call fcn.004b6f38
test al, al
je 0x5dd8ea
lea ecx, [esp + 0x1f4]
call fcn.004b7de4
test al, al
je 0x5dd8ea
lea ecx, [esp + 0x1f4]
call fcn.004b7f25
mov dword [esp + 0x40], eax
mov eax, 0x200
sub eax, dword [ebp + 0x14]
mov dword [esp + 0x24], esi
imul eax, eax, 0x64
cdq
and edx, 0x1ff
add eax, edx
mov edi, eax
sar edi, 9
add edi, 0x64
push edi
mov edx, 0x10223d8
call fcn.0049b551
xor esi, esi
cmp dword [esp + 0x48], esi
mov dword [esp + 0x10], eax
jle 0x5ddf08
mov eax, edi
cdq
sub eax, edx
mov dword [esp + 0x30], eax
sar dword [esp + 0x30], 1
push dword [esp + 0x30]
mov edx, 0x10223d8
call fcn.0049b551
add eax, dword [esp + 0x30]
jne 0x5ddec4
mov eax, dword [esp + 0x40]
mov dword [eax + esi*4], 0x80808080
inc esi
jmp 0x5ddf02
mov dword [esp + 0x38], eax
neg dword [esp + 0x38]
jmp 0x5ddefc
cmp esi, dword [esp + 0x48]
jge 0x5ddf08
cmp dword [esp + 0x10], 0
jle 0x5ddee1
dec dword [esp + 0x10]
jmp 0x5ddefb
mov edx, dword [esp + 0x40]
lea ecx, [eax - 0x80]
and ecx, 0xff
shl ecx, 8
or ecx, 0x80800080
mov dword [edx + esi*4], ecx
inc esi
dec eax
cmp eax, dword [esp + 0x38]
jge 0x5ddece
cmp esi, dword [esp + 0x48]
jl 0x5ddea2
lea ecx, [esp + 0x1f4]
call fcn.004b7f6f
add dword [esp + 0x40], eax
dec dword [esp + 0x24]
jne 0x5dde7e
lea ecx, [esp + 0x1f4]
call fcn.004b7e76
mov eax, dword [ebx]
lea ecx, [esp + 0x48]
push ecx
mov ecx, ebx
call dword [eax + 0x1c]
fild dword [eax]
mov eax, dword [ebx]
lea ecx, [esp + 0x30]
push ecx
fstp qword [esp + 0x28]
mov ecx, ebx
call dword [eax + 0x24]
fild dword [eax]
mov eax, dword [ebx]
lea ecx, [esp + 0x48]
fdivr qword [esp + 0x24]
push ecx
mov ecx, ebx
fstp dword [esp + 0x34]
call dword [eax + 0x1c]
fild dword [eax + 4]
mov eax, dword [ebx]
lea ecx, [esp + 0x38]
push ecx
mov ecx, ebx
fstp qword [esp + 0x28]
call dword [eax + 0x24]
fild dword [eax + 4]
lea eax, [esp + 0x48]
push eax
fdivr qword [esp + 0x28]
lea ecx, [esp + 0x1f8]
fstp dword [esp + 0x3c]
call fcn.004b7cd4
fild dword [eax]
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x1f8]
fstp qword [esp + 0x28]
call fcn.004b7d0b
fild dword [eax]
mov eax, dword [ebx]
lea ecx, [esp + 0x24]
push ecx
fdivr qword [esp + 0x28]
mov ecx, ebx
fstp dword [esp + 0x4c]
call dword [eax + 0x1c]
fild dword [eax]
fmul qword [0x6a2640]
fstp dword [esp + 0x24]
fild dword [ebp + 0x18]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld1
fsub st(1), st(0)
fldz
fadd st(2), st(0)
fxch st(2)
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fstp dword [esp + 0x10c]
fild dword [ebp + 0x1c]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fsub st(1)
fadd st(2)
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fstp dword [esp + 0x110]
fldz
fst dword [esp + 0x114]
fst dword [esp + 0x118]
fld dword [esp + 0x38]
fstp dword [esp + 0x11c]
fst dword [esp + 0x120]
fld dword [esp + 0x24]
fstp dword [esp + 0x124]
fld dword [esp + 0x50]
fstp dword [esp + 0x128]
lea eax, [esp + 0xc4]
fld dword [esp + 0x20]
fadd st(2)
fadd st(3)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp + 0x12c]
fst dword [esp + 0x130]
fst dword [esp + 0x134]
fst dword [esp + 0x138]
fst dword [esp + 0x13c]
fst dword [esp + 0x140]
fld dword [esp + 0x10]
faddp st(2)
fxch st(1)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [esp + 0x144]
fld dword [esp + 0x40]
fstp dword [esp + 0x148]
fst dword [esp + 0x14c]
fld dword [esp + 0x30]
fstp dword [esp + 0x150]
fld dword [esp + 0x38]
fstp dword [esp + 0x154]
fld dword [esp + 0x48]
fstp dword [esp + 0x158]
fld dword [esp + 0x24]
fstp dword [esp + 0x15c]
fld dword [esp + 0x10]
fstp dword [esp + 0x160]
fld dword [esp + 0x20]
fstp dword [esp + 0x164]
fst dword [esp + 0x168]
fld dword [esp + 0x30]
fstp dword [esp + 0x16c]
fst dword [esp + 0x170]
fld dword [esp + 0x48]
fstp dword [esp + 0x174]
fstp dword [esp + 0x178]
call fcn.004fe11a
push 0
push 1
push 4
push 0x202
push 0x1c
xor ebx, ebx
mov byte [esp + 0x2f4], 3
call fcn.004fe1d1
lea ecx, [esp + 0xc4]
test al, al
jne 0x5de158
mov byte [esp + 0x2e0], 2
jmp 0x5ddc32
call fcn.004fe2b9
test al, al
jne 0x5de16e
mov byte [esp + 0x2e0], 2
jmp 0x5ddc4c
mov edi, dword [esp + 0xec]
push 0x1c
pop ecx
lea esi, [esp + 0x10c]
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0xc4]
call fcn.004fe2fa
mov esi, dword [esp + 0x60]
xor ebx, ebx
inc ebx
push ebx
push ebx
xor edi, edi
mov ecx, esi
call fcn.00470965
push ebx
push ebx
mov edi, ebx
mov ecx, esi
call fcn.00470965
mov ebx, dword [esp + 0x14]
mov eax, dword [ebx]
push 0
push 0
mov ecx, ebx
call dword [eax + 0x28]
test eax, eax
je 0x5de1c2
lea ecx, [eax + 8]
jmp 0x5de1c4
xor ecx, ecx
push 0
mov edi, esi
call fcn.00470889
push 1
lea ecx, [esp + 0x1f8]
call fcn.00470889
mov eax, dword [esp + 0x54]
mov edi, dword [eax + 0x10]
mov ecx, esi
call fcn.0046f7a6
mov eax, dword [esp + 0x54]
mov edi, dword [eax + 0x40]
mov ecx, esi
call fcn.00471159
lea edi, [esp + 0xc4]
mov ecx, esi
call fcn.0046f8e7
mov ecx, dword [esp + 0x58]
mov eax, dword [ecx]
lea edx, [esp + 0x14]
push edx
call dword [eax + 0x1c]
fild dword [eax + 4]
fld1
mov eax, dword [ebx]
fdivrp st(1)
lea ecx, [esp + 0x14]
push ecx
mov ecx, ebx
fmul qword [0x6a1600]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x68]
fst dword [esp + 0x6c]
fst dword [esp + 0x70]
fstp dword [esp + 0x74]
fld dword [esp + 0x34]
fstp dword [esp + 0x78]
fld dword [esp + 0x3c]
fstp dword [esp + 0x7c]
fldz
fst dword [esp + 0x80]
fst dword [esp + 0x84]
fst dword [esp + 0x88]
fst dword [esp + 0x8c]
fst dword [esp + 0x90]
fstp dword [esp + 0x94]
call dword [eax + 0x1c]
fld dword [esp + 0x30]
fidiv dword [eax]
lea ecx, [esp + 0x58]
mov eax, dword [ebx]
push ecx
mov ecx, ebx
fstp dword [esp + 0x98]
fld dword [esp + 0x3c]
fstp qword [esp + 0x18]
call dword [eax + 0x1c]
fild dword [eax + 4]
push 4
lea eax, [esp + 0x68]
push eax
fdivr qword [esp + 0x1c]
mov ecx, esi
fstp dword [esp + 0xa0]
fldz
fst dword [esp + 0xa4]
fstp dword [esp + 0xa8]
call fcn.004711f8
push 6
pop ecx
push 5
pop edi
mov edx, esi
call fcn.004702b8
mov ecx, esi
call fcn.004715da
xor edi, edi
mov ecx, esi
call fcn.0046f7a6
mov ecx, esi
call fcn.00471159
mov ecx, esi
call fcn.0046f8e7
push edi
xor ecx, ecx
mov edi, esi
call fcn.00470889
push 1
xor ecx, ecx
call fcn.00470889
mov byte [esp + 0x2e0], 2
lea ecx, [esp + 0xc4]
call fcn.004fe186
or dword [esp + 0x2e0], 0xffffffff
lea ecx, [esp + 0x1ec]
call fcn.004b6ebc
mov al, 1
jmp 0x5dd900
lea eax, [esp + 0xa4]
push eax
call fcn.004dd3fe
lea ecx, [esp + 0x10c]
mov dword [esp + 0x2e0], 4
call fcn.004b6dc1
cmp dword [ebp + 0x14], 0x200
lea ecx, [esp + 0x14]
mov byte [esp + 0x2e0], 5
push ecx
jge 0x5de4a1
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x1c]
push dword [eax + 4]
mov ecx, edi
push dword [eax]
mov eax, dword [edi]
call dword [eax + 0xc]
lea ecx, [esp + 0xac]
call fcn.004dd49c
test al, al
jne 0x5de3c8
lea ecx, [esp + 0x10c]
mov byte [esp + 0x2e0], 4
call fcn.004b6ebc
or dword [esp + 0x2e0], 0xffffffff
lea ecx, [esp + 0xa4]
call fcn.004dd45c
jmp 0x5dd8fe
mov eax, dword [edi]
lea ecx, [esp + 0x14]
push ecx
mov ecx, edi
call dword [eax + 0x1c]
push 0
mov esi, eax
mov eax, dword [edi]
push 1
mov ecx, edi
call dword [eax + 0xc]
push eax
push dword [esi + 4]
lea ecx, [esp + 0x11c]
push dword [esi]
call fcn.004b6f38
test al, al
je 0x5de39b
mov eax, dword [edi]
lea ecx, [esp + 0x14]
push ecx
mov ecx, edi
xor esi, esi
xor ebx, ebx
call dword [eax + 0x1c]
push dword [eax + 4]
push dword [eax]
xor eax, eax
push ebx
push esi
push eax
push eax
lea eax, [esp + 0xc0]
push eax
mov esi, edi
call fcn.004f98f8
add esp, 0x1c
test al, al
je 0x5de39b
lea ecx, [esp + 0x114]
call fcn.004bc9de
test al, al
je 0x5de39b
xor eax, eax
xor edx, edx
push edx
lea edi, [esp + 0x18]
stosb byte es:[edi], al
mov eax, dword [ebp + 0x14]
cdq
xor ecx, ecx
push ecx
sub eax, edx
sar eax, 1
mov ecx, 0x400
sub ecx, eax
push ecx
push dword [esp + 0x20]
lea eax, [esp + 0x124]
push eax
lea eax, [esp + 0xbc]
call fcn.00541aae
test al, al
je 0x5de39b
fild dword [ebp + 0x1c]
push 0xffffffffffffffff
push ecx
push ecx
fstp dword [esp + 4]
lea ecx, [esp + 0x118]
fild dword [ebp + 0x18]
fstp dword [esp]
call fcn.004b89cf
mov bl, al
jmp 0x5de58a
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x1c]
push dword [eax + 4]
mov ecx, ebx
push dword [eax]
mov eax, dword [ebx]
call dword [eax + 0xc]
lea ecx, [esp + 0xac]
call fcn.004dd49c
test al, al
je 0x5de39b
mov eax, dword [ebx]
lea ecx, [esp + 0x14]
push ecx
mov ecx, ebx
call dword [eax + 0x1c]
push 0
mov esi, eax
mov eax, dword [ebx]
push 1
mov ecx, ebx
call dword [eax + 0xc]
push eax
push dword [esi + 4]
lea ecx, [esp + 0x11c]
push dword [esi]
call fcn.004b6f38
test al, al
je 0x5de39b
mov eax, dword [ebx]
lea ecx, [esp + 0x58]
push ecx
xor edi, edi
mov ecx, ebx
xor esi, esi
mov dword [esp + 0x1c], edi
call dword [eax + 0x1c]
push dword [eax + 4]
push dword [eax]
xor eax, eax
push edi
push esi
push edi
push eax
lea eax, [esp + 0xc0]
push eax
mov esi, ebx
call fcn.004f98f8
add esp, 0x1c
test al, al
je 0x5de39b
lea ecx, [esp + 0x114]
call fcn.004bc9de
test al, al
je 0x5de39b
xor eax, eax
lea edi, [esp + 0x14]
stosb byte es:[edi], al
mov eax, dword [ebp + 0x14]
add eax, 0xfffffe00
xor edx, edx
push edx
cdq
sub eax, edx
sar eax, 1
xor ecx, ecx
push ecx
add eax, 0x300
push eax
push dword [esp + 0x20]
lea eax, [esp + 0x124]
push eax
lea eax, [esp + 0xbc]
call fcn.00541aae
test al, al
jne 0x5de47d
xor bl, bl
lea ecx, [esp + 0x10c]
mov byte [esp + 0x2e0], 4
call fcn.004b6ebc
or dword [esp + 0x2e0], 0xffffffff
lea ecx, [esp + 0xa4]
call fcn.004dd45c
mov al, bl
jmp 0x5dd900