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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x598cd3
push eax
mov dword fs:[0], esp
sub esp, 0x84
push ebp
push esi
mov esi, ecx
push edi
mov ecx, 0x618610
call fcn.0046c650
test al, al
je 0x43addd
mov ecx, 0x618610
call fcn.004a7e00
jmp 0x43b85b
mov esi, dword [esi + 0xc8]
xor edi, edi
cmp esi, edi
mov dword [esp + 0x5c], esi
je 0x43b85b
mov eax, dword [esi + 0x3c]
push edi
push 0x5fced8
push 0x5ff618
push edi
push eax
call fcn.0053ce5e
mov ebp, eax
add esp, 0x14
cmp ebp, edi
je 0x43b85b
mov cl, byte [esp + 0xf]
push ebx
mov byte [esp + 0x14], cl
push edi
lea ecx, [esp + 0x18]
call fcn.00406080
push ebp
mov dword [esp + 0xa0], edi
xor ebx, ebx
call fcn.0053cd7f
add esp, 4
mov ecx, 0x5ffb38
push eax
call fcn.0053cbff
test eax, eax
je 0x43ae9e
push edi
push 0x5ffb38
push 0x5fced8
push edi
push ebp
call fcn.0053ce5e
mov edx, dword [eax + 4]
add esp, 0x14
mov ecx, dword [edx + 0x10]
mov edx, dword [ecx + eax + 4]
lea ecx, [ecx + eax + 4]
call dword [edx + 8]
push 0x5ff660
mov ecx, eax
call fcn.00457c00
cmp eax, edi
je 0x43ae8a
lea ecx, [esp + 0x14]
push ecx
lea ecx, [eax + 0xc]
call fcn.0046b430
cmp dword [esp + 0x1c], edi
je 0x43b5eb
mov ebx, 8
jmp 0x43b5eb
push ebp
call fcn.0053cd7f
add esp, 4
mov ecx, 0x5ffb18
push eax
call fcn.0053cbff
test eax, eax
je 0x43af88
push edi
push 0x5ffb18
push 0x5fced8
push edi
push ebp
call fcn.0053ce5e
mov esi, eax
add esp, 0x14
mov edx, dword [esi + 4]
mov eax, dword [edx + 0x10]
mov edx, dword [eax + esi + 4]
lea ecx, [eax + esi + 4]
call dword [edx + 8]
push 0x5ff838
mov ecx, eax
call fcn.00457c00
cmp eax, edi
je 0x43b5eb
lea eax, [esp + 0x2c]
mov ecx, esi
push eax
call fcn.004b7810
mov esi, dword [esp + 0x30]
mov byte [esp + 0x9c], 1
cmp esi, edi
jne 0x43af17
mov esi, 0x5b21c8
cmp word [esi], di
je 0x43af53
mov cl, byte [esi]
mov byte [esp + 0x24], cl
lea ecx, [esp + 0x14]
mov edx, dword [esp + 0x24]
push edx
push 1
call fcn.0043ffd0
xor eax, eax
mov al, byte [esi + 1]
mov byte [esp + 0x28], al
mov ecx, dword [esp + 0x28]
push ecx
push 1
lea ecx, [esp + 0x1c]
call fcn.0043ffd0
add esi, 2
cmp word [esi], di
jne 0x43af1c
push edi
push 1
lea ecx, [esp + 0x1c]
call fcn.0043ffd0
push edi
push 1
lea ecx, [esp + 0x1c]
call fcn.0043ffd0
push 1
lea ecx, [esp + 0x30]
mov ebx, 0xd
mov byte [esp + 0xa0], 0
call fcn.004318f0
jmp 0x43b5eb
push ebp
call fcn.0053cd7f
add esp, 4
mov ecx, 0x5ffa70
push eax
call fcn.0053cbff
test eax, eax
je 0x43b0b2
push edi
push 0x5ffa70
push 0x5fced8
push edi
push ebp
call fcn.0053ce5e
mov edx, dword [eax + 4]
add esp, 0x14
mov ecx, dword [edx + 0x10]
mov edx, dword [ecx + eax + 4]
lea ecx, [ecx + eax + 4]
call dword [edx + 8]
push 0x5ff990
mov ecx, eax
call fcn.00457c00
mov esi, eax
cmp esi, edi
je 0x43b5eb
mov al, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x30]
mov byte [esp + 0x30], al
call fcn.004318f0
push 0x618598
mov ecx, esi
mov byte [esp + 0xa0], 2
call fcn.004b09a0
push 0x618598
call fcn.004afea0
mov edi, eax
add esp, 4
mov ecx, edi
mov edx, dword [edi]
call dword [edx]
mov eax, dword [edi]
lea ecx, [esp + 0x2c]
push ecx
mov ecx, edi
call dword [eax + 4]
mov esi, dword [esp + 0x30]
test esi, esi
jne 0x43b035
mov esi, 0x5b21c8
cmp word [esi], 0
je 0x43b073
mov dl, byte [esi]
lea ecx, [esp + 0x14]
mov byte [esp + 0x28], dl
mov eax, dword [esp + 0x28]
push eax
push 1
call fcn.0043ffd0
xor ecx, ecx
mov cl, byte [esi + 1]
mov byte [esp + 0x24], cl
lea ecx, [esp + 0x14]
mov edx, dword [esp + 0x24]
push edx
push 1
call fcn.0043ffd0
add esi, 2
cmp word [esi], 0
jne 0x43b03b
push 0
push 1
lea ecx, [esp + 0x1c]
call fcn.0043ffd0
push 0
push 1
lea ecx, [esp + 0x1c]
call fcn.0043ffd0
test edi, edi
mov ebx, 0xd
je 0x43b09f
mov eax, dword [edi]
push 1
mov ecx, edi
call dword [eax + 0x34]
mov byte [esp + 0x9c], 0
push 1
lea ecx, [esp + 0x30]
jmp 0x43b5e4
push ebp
call fcn.0053cd7f
add esp, 4
mov ecx, 0x5ffaf8
push eax
call fcn.0053cbff
test eax, eax
je 0x43b1db
push edi
push 0x5ffaf8
push 0x5fced8
push edi
push ebp
call fcn.0053ce5e
mov ecx, dword [eax + 4]
add esp, 0x14
mov edx, dword [ecx + 0x10]
lea ecx, [edx + eax + 4]
mov eax, dword [edx + eax + 4]
call dword [eax + 8]
push 0x5ffad0
mov ecx, eax
call fcn.00457c00
mov esi, eax
cmp esi, edi
je 0x43b5eb
mov cl, byte [esp + 0x13]
push edi
mov byte [esp + 0x30], cl
lea ecx, [esp + 0x30]
call fcn.004318f0
lea edx, [esp + 0x74]
mov bl, 3
push edx
mov ecx, esi
mov byte [esp + 0xa0], bl
call fcn.004af090
mov ecx, dword [0x5b21c4]
mov byte [esp + 0x9c], 4
push ecx
push edi
push eax
lea ecx, [esp + 0x38]
call fcn.004311c0
push 1
lea ecx, [esp + 0x78]
mov byte [esp + 0xa0], bl
call fcn.004318f0
mov esi, dword [esp + 0x30]
cmp esi, edi
jne 0x43b16a
mov esi, 0x5b21c8
cmp word [esi], di
je 0x43b1a6
mov dl, byte [esi]
lea ecx, [esp + 0x14]
mov byte [esp + 0x28], dl
mov eax, dword [esp + 0x28]
push eax
push 1
call fcn.0043ffd0
xor ecx, ecx
mov cl, byte [esi + 1]
mov byte [esp + 0x24], cl
lea ecx, [esp + 0x14]
mov edx, dword [esp + 0x24]
push edx
push 1
call fcn.0043ffd0
add esi, 2
cmp word [esi], di
jne 0x43b16f
push edi
push 1
lea ecx, [esp + 0x1c]
call fcn.0043ffd0
push edi
push 1
lea ecx, [esp + 0x1c]
call fcn.0043ffd0
push 1
lea ecx, [esp + 0x30]
mov ebx, 0xd
mov byte [esp + 0xa0], 0
call fcn.004318f0
jmp 0x43b5eb
push ebp
call fcn.0053cd7f
add esp, 4
mov ecx, 0x5ffab0
push eax
call fcn.0053cbff
test eax, eax
je 0x43b3e2
push edi
push 0x5ffab0
push 0x5fced8
push edi
push ebp
call fcn.0053ce5e
mov ecx, dword [eax + 4]
add esp, 0x14
mov edx, dword [ecx + 0x10]
lea ecx, [edx + eax + 4]
mov eax, dword [edx + eax + 4]
call dword [eax + 8]
push 0x5ffa88
mov ecx, eax
call fcn.00457c00
mov esi, eax
cmp esi, edi
je 0x43b5eb
mov cl, byte [esp + 0x13]
push 0
mov byte [esp + 0x30], cl
lea ecx, [esp + 0x30]
call fcn.004318f0
lea edx, [esp + 0x74]
mov bl, 5
push edx
mov ecx, esi
mov byte [esp + 0xa0], bl
call fcn.004af090
mov ecx, dword [0x5b21c4]
mov byte [esp + 0x9c], 6
push ecx
push 0
push eax
lea ecx, [esp + 0x38]
call fcn.004311c0
push 1
lea ecx, [esp + 0x78]
mov byte [esp + 0xa0], bl
call fcn.004318f0
mov edi, dword [esp + 0x30]
test edi, edi
jne 0x43b295
mov edi, 0x5b21c8
cmp word [edi], 0
je 0x43b343
mov edx, dword [0x5af33c]
mov ecx, dword [esp + 0x1c]
mov bl, byte [edi]
sub edx, ecx
cmp edx, 1
ja 0x43b2b7
call fcn.00557890
mov eax, dword [esp + 0x1c]
push 0
lea ecx, [esp + 0x18]
lea esi, [eax + 1]
push esi
call fcn.00405f60
test al, al
je 0x43b2ea
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
push esi
lea eax, [edx + ecx]
movsx ecx, bl
mov ch, cl
mov byte [eax], cl
lea ecx, [esp + 0x18]
call fcn.00405f40
mov eax, dword [0x5af33c]
mov edx, dword [esp + 0x1c]
sub eax, edx
xor ebx, ebx
mov bl, byte [edi + 1]
cmp eax, 1
ja 0x43b304
call fcn.00557890
mov ecx, dword [esp + 0x1c]
push 0
lea esi, [ecx + 1]
lea ecx, [esp + 0x18]
push esi
call fcn.00405f60
test al, al
je 0x43b336
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
movsx ecx, bl
add eax, edx
mov ch, cl
push esi
mov byte [eax], cl
lea ecx, [esp + 0x18]
call fcn.00405f40
add edi, 2
cmp word [edi], 0
jne 0x43b29f
mov eax, dword [0x5af33c]
mov edx, dword [esp + 0x1c]
sub eax, edx
cmp eax, 1
ja 0x43b358
call fcn.00557890
mov ecx, dword [esp + 0x1c]
push 0
lea esi, [ecx + 1]
lea ecx, [esp + 0x18]
push esi
call fcn.00405f60
test al, al
je 0x43b386
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
add eax, edx
push esi
lea ecx, [esp + 0x18]
mov byte [eax], 0
call fcn.00405f40
mov ecx, dword [0x5af33c]
mov edx, dword [esp + 0x1c]
sub ecx, edx
cmp ecx, 1
ja 0x43b39c
call fcn.00557890
mov edx, dword [esp + 0x1c]
push 0
lea ecx, [esp + 0x18]
lea esi, [edx + 1]
push esi
call fcn.00405f60
test al, al
je 0x43b3ca
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
add eax, ecx
push esi
lea ecx, [esp + 0x18]
mov byte [eax], 0
call fcn.00405f40
mov ebx, 0xd
mov byte [esp + 0x9c], 0
push 1
lea ecx, [esp + 0x30]
jmp 0x43b5e4
push ebp
call fcn.0053cd7f
add esp, 4
mov ecx, 0x5fd290
push eax
call fcn.0053cbff
test eax, eax
je 0x43b5eb
push edi
push 0x5fd290
push 0x5fced8
push edi
push ebp
call fcn.0053ce5e
mov edx, dword [eax + 4]
add esp, 0x14
mov ecx, dword [edx + 0x10]
mov edx, dword [ecx + eax + 4]
lea ecx, [ecx + eax + 4]
call dword [edx + 8]
push 0x5fd250
mov ecx, eax
call fcn.00457c00
mov esi, eax
cmp esi, edi
je 0x43b5eb
mov al, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x30]
mov byte [esp + 0x30], al
call fcn.004318f0
lea ecx, [esp + 0x74]
push 0
mov bl, 7
push ecx
mov ecx, esi
mov byte [esp + 0xa4], bl
call fcn.004ac1b0
mov edx, dword [0x5b21c4]
lea ecx, [esp + 0x2c]
push edx
push 0
push eax
mov byte [esp + 0xa8], 8
call fcn.004311c0
push 1
lea ecx, [esp + 0x78]
mov byte [esp + 0xa0], bl
call fcn.004318f0
mov edi, dword [esp + 0x30]
test edi, edi
jne 0x43b49e
mov edi, 0x5b21c8
cmp word [edi], 0
je 0x43b54a
mov eax, dword [0x5af33c]
mov edx, dword [esp + 0x1c]
mov bl, byte [edi]
sub eax, edx
cmp eax, 1
ja 0x43b4bf
call fcn.00557890
mov ecx, dword [esp + 0x1c]
push 0
lea esi, [ecx + 1]
lea ecx, [esp + 0x18]
push esi
call fcn.00405f60
test al, al
je 0x43b4f1
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
movsx ecx, bl
add eax, edx
mov ch, cl
push esi
mov byte [eax], cl
lea ecx, [esp + 0x18]
call fcn.00405f40
mov eax, dword [0x5af33c]
mov edx, dword [esp + 0x1c]
sub eax, edx
xor ebx, ebx
mov bl, byte [edi + 1]
cmp eax, 1
ja 0x43b50b
call fcn.00557890
mov ecx, dword [esp + 0x1c]
push 0
lea esi, [ecx + 1]
lea ecx, [esp + 0x18]
push esi
call fcn.00405f60
test al, al
je 0x43b53d
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
movsx ecx, bl
add eax, edx
mov ch, cl
push esi
mov byte [eax], cl
lea ecx, [esp + 0x18]
call fcn.00405f40
add edi, 2
cmp word [edi], 0
jne 0x43b4a8
mov eax, dword [0x5af33c]
mov edx, dword [esp + 0x1c]
sub eax, edx
cmp eax, 1
ja 0x43b55f
call fcn.00557890
mov ecx, dword [esp + 0x1c]
push 0
lea esi, [ecx + 1]
lea ecx, [esp + 0x18]
push esi
call fcn.00405f60
test al, al
je 0x43b58d
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
add eax, edx
push esi
lea ecx, [esp + 0x18]
mov byte [eax], 0
call fcn.00405f40
mov ecx, dword [0x5af33c]
mov edx, dword [esp + 0x1c]
sub ecx, edx
cmp ecx, 1
ja 0x43b5a3
call fcn.00557890
mov edx, dword [esp + 0x1c]
push 0
lea ecx, [esp + 0x18]
lea esi, [edx + 1]
push esi
call fcn.00405f60
test al, al
je 0x43b5d1
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
add eax, ecx
push esi
lea ecx, [esp + 0x18]
mov byte [eax], 0
call fcn.00405f40
mov ebx, 0xd
mov byte [esp + 0x9c], 0
push 1
lea ecx, [esp + 0x30]
call fcn.004318f0
xor edi, edi
call fcn.0058ec69
mov ecx, dword [eax + 4]
call fcn.00574ace
mov byte [esp + 0x9c], 9
call fcn.00443eb0
mov dl, byte [esp + 0x13]
mov esi, dword [eax + 4]
push edi
lea ecx, [esp + 0x54]
mov dword [esp + 0x50], vtable.COutputStream.0
mov byte [esp + 0x54], dl
call fcn.00406080
mov dword [esp + 0x4c], vtable.CMemoryOutputStream.0
lea eax, [esp + 0x4c]
push ebp
push eax
mov ecx, esi
mov byte [esp + 0xa4], 0xa
call fcn.00465280
lea ecx, [esp + 0x64]
push ecx
lea ecx, [esp + 0x50]
call fcn.00404b00
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x9c], 0xb
cmp eax, edi
je 0x43b689
cmp ebx, edi
je 0x43b689
mov eax, dword [0x5b443c]
lea edx, [esp + 0x14]
push ebx
push edx
push eax
mov ecx, 0x618624
call fcn.004a8da0
push eax
lea eax, [esp + 0x70]
push eax
mov ecx, 0x618624
call fcn.004a8700
jmp 0x43b6a9
mov eax, dword [0x5b443c]
mov ecx, 0x618624
push eax
call fcn.004a8da0
lea ecx, [esp + 0x64]
push eax
push ecx
mov ecx, 0x618624
call fcn.004a8540
push edi
push 0x5ff880
push 0x5fced8
push edi
push ebp
call fcn.0053ce5e
mov ebx, eax
add esp, 0x14
cmp ebx, edi
je 0x43b7b6
push edi
push 0x5ff858
push 0x5fced8
push edi
push ebp
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
call fcn.0053ce5e
add esp, 0x14
test eax, eax
je 0x43b753
push 0
push 0x5ff858
push 0x5fced8
push 0
push ebp
call fcn.0053ce5e
mov edx, dword [eax]
add esp, 0x14
lea ecx, [esp + 0x74]
push ecx
mov ecx, eax
call dword [edx + 0x28]
mov ecx, 8
mov esi, eax
lea edi, [esp + 0x2c]
rep movsd dword es:[edi], dword [esi]
xor edi, edi
mov edx, dword [ebx]
lea eax, [esp + 0x74]
push eax
mov ecx, ebx
call dword [edx + 4]
fld qword [esp + 0x44]
fsub qword [esp + 0x34]
mov ecx, dword [eax]
mov dword [0x6186c0], ecx
fmul qword [0x5af430]
fld qword [esp + 0x3c]
fsub qword [esp + 0x2c]
mov edx, dword [eax + 4]
mov dword [0x6186c4], edx
fmul qword [0x5af430]
mov ecx, dword [eax + 8]
mov dword [0x6186c8], ecx
fadd qword [0x6186c0]
mov edx, dword [eax + 0xc]
mov dword [0x6186cc], edx
fstp qword [0x6186c0]
fadd qword [0x6186c8]
fstp qword [0x6186c8]
mov eax, dword [esp + 0x60]
pop ebx
mov dword [0x6186d0], eax
mov eax, dword [esp + 0x64]
cmp eax, edi
je 0x43b7e5
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x43b7dc
cmp al, 0xff
je 0x43b7dc
dec al
mov byte [ecx], al
jmp 0x43b7e5
push ecx
call fcn.00570be5
add esp, 4
mov eax, dword [esp + 0x50]
mov dword [esp + 0x64], edi
cmp eax, edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], edi
je 0x43b816
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x43b80d
cmp al, 0xff
je 0x43b80d
dec al
mov byte [ecx], al
jmp 0x43b816
push ecx
call fcn.00570be5
add esp, 4
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
mov byte [esp + 0x98], 0
call fcn.0058ec69
mov ecx, dword [eax + 4]
call fcn.00574ae3
mov ecx, dword [esp + 0x14]
cmp ecx, edi
je 0x43b85b
mov al, byte [ecx - 1]
test al, al
je 0x43b851
cmp al, 0xff
je 0x43b851
dec al
mov byte [ecx - 1], al
jmp 0x43b85b
dec ecx
push ecx
call fcn.00570be5
add esp, 4
mov ecx, dword [esp + 0x90]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
add esp, 0x90
ret