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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x4ae61f
push eax
mov dword fs:[0], esp
sub esp, 0x9d4
push ebx
push ebp
push esi
mov esi, ecx
mov ecx, 2
push edi
cmp dword [esi + 0x590], ecx
je 0x4332b2
mov eax, dword [0x4d5f90]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x5a4]
lea ecx, [esp + 0x10]
push eax
push str._s_BAD_Protocol_Error:_Search_received_in_wrong_state
push ecx
mov dword [esp + 0x9f8], 0
call fcn.004a0e91
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov ecx, esi
push edx
call fcn.0042da70
lea ecx, [esp + 0x10]
mov dword [esp + 0x9ec], 0xffffffff
call fcn.004a3625
xor al, al
jmp 0x433e3f
mov eax, dword [esi + 0x5b0]
lea ebp, [esi + 0x5ac]
xor ebx, ebx
cmp eax, ebx
je 0x4332d1
mov edx, dword [ebp + 8]
sub edx, eax
sar edx, 2
cmp edx, 1
jae 0x433325
mov eax, dword [0x4d5f90]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x5a4]
lea ecx, [esp + 0x10]
push eax
push str._s_BAD_Protocol_Error:_Too_few_arguments
push ecx
mov dword [esp + 0x9f8], 1
call fcn.004a0e91
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov ecx, esi
push edx
call fcn.0042da70
lea ecx, [esp + 0x10]
mov dword [esp + 0x9ec], 0xffffffff
call fcn.004a3625
xor al, al
jmp 0x433e3f
mov al, byte [esp + 0x3b]
mov dword [esp + 0x28], ebx
mov byte [esp + 0x24], al
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x9ec], ecx
mov cl, byte [esp + 0x3b]
mov byte [esp + 0x14], cl
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov eax, dword [esi + 0x5b0]
push str.charset
mov byte [esp + 0x9f0], 3
mov edx, dword [eax]
mov eax, dword [edx]
push eax
call fcn.0047f7d0
add esp, 8
test eax, eax
jne 0x433643
mov eax, dword [esi + 0x5b0]
push str.base64
mov eax, dword [eax + 4]
mov eax, dword [eax]
push eax
call fcn.0047f7d0
add esp, 8
test eax, eax
jne 0x4334fd
xor edi, edi
mov eax, dword [ebp + 4]
cmp eax, ebx
je 0x4335d2
mov ecx, dword [ebp + 8]
sub ecx, eax
sar ecx, 2
cmp edi, ecx
jae 0x4335d2
mov eax, dword [esi + 0x5b0]
mov edx, dword [eax + edi*4]
mov ecx, dword [edx]
cmp dword [ecx - 8], 3
jle 0x433449
mov edx, dword [eax + edi*4]
mov ecx, dword [edx]
cmp byte [ecx], 0x22
jne 0x433449
mov edx, dword [eax + edi*4]
mov ecx, dword [edx]
mov edx, dword [edx]
mov ecx, dword [ecx - 8]
cmp byte [edx + ecx - 1], 0x22
jne 0x433449
mov ecx, dword [eax + edi*4]
push 1
push ebx
call fcn.004a09ce
mov eax, dword [esi + 0x5b0]
push 1
mov ecx, dword [eax + edi*4]
mov edx, dword [ecx]
mov ecx, dword [edx - 8]
dec ecx
push ecx
mov ecx, dword [eax + edi*4]
call fcn.004a09ce
mov eax, dword [esi + 0x5b0]
push ebx
push 1
push 0x64
mov ecx, dword [eax + edi*4]
mov eax, dword [eax + edi*4]
mov edx, dword [ecx]
mov eax, dword [eax]
mov ecx, dword [edx - 8]
lea edx, [esp + 0x50]
push edx
push ecx
push eax
call fcn.00418790
add esp, 0x18
test al, al
je 0x43344f
mov ecx, dword [esi + 0x5b0]
lea eax, [esp + 0x44]
push eax
mov ecx, dword [ecx + edi*4]
call fcn.004a371e
inc edi
jmp 0x43339f
mov edx, dword [0x4d5f90]
mov dword [esp + 0x10], edx
mov eax, dword [esi + 0x5a4]
mov byte [esp + 0x9ec], 4
push eax
lea eax, [esp + 0x14]
push str._s_BAD_Protocol_Error:_Charset_Base64_does_not_match_all_search_strings
push eax
call fcn.004a0e91
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push ecx
mov ecx, esi
call fcn.0042da70
lea ecx, [esp + 0x10]
mov byte [esp + 0x9ec], 3
call fcn.004a3625
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push edx
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x9f4], 2
call fcn.00443ee0
mov ecx, dword [esp + 0x18]
push ecx
call fcn.004a2a3d
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
add esp, 4
lea ecx, [esp + 0x24]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
push edx
push eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x9f4], 0xffffffff
call fcn.00443ee0
mov ecx, dword [esp + 0x28]
push ecx
call fcn.004a2a3d
add esp, 4
xor al, al
jmp 0x433e3f
mov eax, dword [esi + 0x5b0]
push str.quoted_printable
mov edx, dword [eax + 4]
mov eax, dword [edx]
push eax
call fcn.0047f7d0
add esp, 8
test eax, eax
jne 0x4335b1
xor edi, edi
mov eax, dword [ebp + 4]
cmp eax, ebx
je 0x4335d2
mov ecx, dword [ebp + 8]
sub ecx, eax
sar ecx, 2
cmp edi, ecx
jae 0x4335d2
mov edx, dword [esi + 0x5b0]
mov ecx, dword [edx + edi*4]
mov eax, dword [ecx]
mov edx, dword [eax - 8]
cmp edx, 3
jle 0x4335ab
cmp byte [eax], 0x22
jne 0x4335ab
cmp byte [edx + eax - 1], 0x22
jne 0x4335ab
push 1
push ebx
call fcn.004a09ce
mov eax, dword [esi + 0x5b0]
push 1
mov ecx, dword [eax + edi*4]
mov edx, dword [ecx]
mov eax, dword [edx - 8]
dec eax
push eax
call fcn.004a09ce
mov eax, dword [esi + 0x5b0]
mov ecx, dword [eax + edi*4]
mov edx, dword [ecx]
mov ecx, dword [edx - 8]
push ecx
mov ecx, dword [eax + edi*4]
call fcn.004a3836
push 0x3d
push eax
call fcn.00486f50
mov eax, dword [esi + 0x5b0]
add esp, 8
mov ecx, dword [eax + edi*4]
push 0xffffffffffffffff
call fcn.004a3885
inc edi
jmp 0x433520
mov eax, dword [esi + 0x5b0]
push str.us_ascii
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
push eax
call fcn.0047f7d0
add esp, 8
test eax, eax
jne 0x433690
mov eax, dword [esi + 0x5b0]
mov edi, dword [eax]
cmp edi, ebx
je 0x4335ee
mov ecx, edi
call fcn.004a3625
push edi
call fcn.004a2a3d
add esp, 4
mov eax, dword [esi + 0x5b0]
mov edi, dword [eax + 4]
cmp edi, ebx
je 0x43360b
mov ecx, edi
call fcn.004a3625
push edi
call fcn.004a2a3d
add esp, 4
mov eax, dword [esi + 0x5b0]
mov ecx, dword [ebp + 8]
mov edi, eax
add eax, 8
cmp eax, ecx
je 0x43362b
mov edx, dword [eax]
add eax, 4
mov dword [edi], edx
add edi, 4
cmp eax, ecx
jne 0x43361d
mov eax, dword [esi + 0x5b4]
lea ebp, [esi + 0x5ac]
push eax
push edi
mov ecx, ebp
call fcn.00443ee0
mov dword [ebp + 8], edi
xor ebx, ebx
mov edi, 4
mov eax, dword [ebp + 4]
test eax, eax
je 0x4337bd
mov edx, dword [ebp + 8]
sub edx, eax
sar edx, 2
cmp ebx, edx
jae 0x4337bd
mov eax, dword [esi + 0x5b0]
push 0x4cb274
mov eax, dword [edi + eax - 4]
mov eax, dword [eax]
push eax
call fcn.0047f7d0
add esp, 8
test eax, eax
jne 0x43373f
mov ecx, dword [ebp + 4]
test ecx, ecx
jne 0x433701
jmp 0x433709
mov eax, dword [0x4d5f90]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x5a4]
lea ecx, [esp + 0x10]
push eax
push str._s_NO__BADCHARSET___base64___quoted_printable___us_ascii____Search_Failure:_Unsupported_charset_specified
push ecx
mov byte [esp + 0x9f8], 5
call fcn.004a0e91
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov ecx, esi
push edx
call fcn.0042da70
lea ecx, [esp + 0x10]
mov byte [esp + 0x9ec], 3
call fcn.004a3625
mov eax, dword [esp + 0x18]
push eax
call fcn.004a2a3d
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x1c], ebx
push ecx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
call fcn.004a2a3d
add esp, 8
xor al, al
jmp 0x433e3f
mov eax, dword [ebp + 8]
sub eax, ecx
sar eax, 2
dec eax
cmp ebx, eax
jae 0x43384b
mov eax, dword [esi + 0x5b0]
mov ecx, dword [edi + eax]
mov eax, dword [edi + eax]
mov edx, dword [ecx]
mov eax, dword [eax]
mov ecx, dword [edx - 8]
mov edx, dword [esp + 0x9f4]
push edx
lea edx, [esp + 0x18]
push edx
push ecx
push eax
mov ecx, esi
call fcn.0042a840
test al, al
jne 0x433748
inc ebx
add edi, 4
jmp 0x43364a
mov eax, dword [esi + 0x5b0]
mov edi, dword [eax + ebx*4]
test edi, edi
je 0x433765
mov ecx, edi
call fcn.004a3625
push edi
call fcn.004a2a3d
add esp, 4
mov eax, dword [esi + 0x5b0]
mov edi, dword [eax + ebx*4 + 4]
test edi, edi
je 0x433783
mov ecx, edi
call fcn.004a3625
push edi
call fcn.004a2a3d
add esp, 4
mov eax, dword [esi + 0x5b0]
mov ecx, dword [ebp + 8]
lea edi, [eax + ebx*4]
lea eax, [eax + ebx*4 + 8]
cmp eax, ecx
je 0x4337a5
mov edx, dword [eax]
add eax, 4
mov dword [edi], edx
add edi, 4
cmp eax, ecx
jne 0x433797
mov eax, dword [esi + 0x5b4]
lea ebp, [esi + 0x5ac]
push eax
push edi
mov ecx, ebp
call fcn.00443ee0
mov dword [ebp + 8], edi
xor edi, edi
mov eax, dword [ebp + 4]
test eax, eax
je 0x4338f3
mov edx, dword [ebp + 8]
sub edx, eax
sar edx, 2
cmp edi, edx
jae 0x4338f3
mov eax, dword [esi + 0x5b0]
push str.larger
mov eax, dword [eax + edi*4]
mov eax, dword [eax]
push eax
call fcn.0047b605
add esp, 8
test eax, eax
je 0x433892
mov eax, dword [esi + 0x5b0]
push str.smaller
mov eax, dword [eax + edi*4]
mov eax, dword [eax]
push eax
call fcn.0047b605
add esp, 8
test eax, eax
je 0x433892
mov eax, dword [esi + 0x5b0]
mov ecx, dword [eax + edi*4]
mov eax, dword [eax + edi*4]
mov edx, dword [ecx]
mov eax, dword [eax]
mov ecx, dword [edx - 8]
mov edx, dword [esp + 0x9f4]
push edx
lea edx, [esp + 0x28]
push edx
push ecx
push eax
mov ecx, esi
call fcn.0042a840
test al, al
jne 0x433899
inc edi
jmp 0x4337bf
mov eax, dword [0x4d5f90]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x5a4]
lea ecx, [esp + 0x10]
push eax
push str._s_NO_Protocol_Error:_Invalid_UID_set_specified
push ecx
mov byte [esp + 0x9f8], 6
call fcn.004a0e91
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov ecx, esi
push edx
call fcn.0042da70
mov byte [esp + 0x9ec], 3
lea ecx, [esp + 0x10]
jmp 0x433c47
inc edi
inc edi
jmp 0x4337bf
mov eax, dword [esi + 0x5b0]
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x4338b6
mov ecx, ebx
call fcn.004a3625
push ebx
call fcn.004a2a3d
add esp, 4
mov eax, dword [esi + 0x5b0]
mov ecx, dword [ebp + 8]
lea edi, [eax + edi*4]
lea eax, [edi + 4]
cmp eax, ecx
je 0x4338d7
sub edi, eax
mov edx, dword [eax]
mov dword [edi + eax], edx
add eax, 4
cmp eax, ecx
jne 0x4338cb
mov eax, dword [esi + 0x5b4]
lea edi, [esi + 0x5ac]
push eax
add eax, 0xfffffffc
push eax
mov ecx, edi
call fcn.00443ee0
add dword [edi + 8], 0xfffffffc
push 1
mov ecx, esi
call fcn.0042d370
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x2c]
test ebx, ebx
je 0x433920
mov edx, ebp
sub edx, ebx
test edx, 0xfffffffc
jne 0x4339a0
test ecx, ecx
je 0x433930
mov edx, eax
sub edx, ecx
test edx, 0xfffffffc
jne 0x4339a0
lea ebx, [esi + 0x78]
xor edi, edi
mov ecx, ebx
call fcn.00414960
test eax, eax
jle 0x433965
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x34]
push eax
push 1
inc edi
push ecx
lea ecx, [esp + 0x30]
mov dword [esp + 0x40], edi
call fcn.004167b0
mov ecx, ebx
call fcn.00414960
cmp edi, eax
jl 0x433940
mov ebp, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
xor edi, edi
test ebx, ebx
je 0x433bfa
sub ebp, ebx
sar ebp, 2
cmp edi, ebp
jae 0x433bfa
lea ecx, [esi + 0x78]
call fcn.00414960
cmp dword [ebx + edi*4], eax
ja 0x433b86
mov ebp, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
inc edi
jmp 0x43396f
test ebx, ebx
je 0x4339b0
mov edx, ebp
sub edx, ebx
test edx, 0xfffffffc
jne 0x433a08
test ecx, ecx
je 0x433a08
sub eax, ecx
sar eax, 2
je 0x433a08
xor edi, edi
test ecx, ecx
je 0x43396d
mov eax, dword [esp + 0x1c]
sub eax, ecx
sar eax, 2
cmp edi, eax
jae 0x43396d
mov eax, dword [ecx + edi*4]
lea ecx, [esi + 0x78]
push eax
call fcn.00415e40
cmp eax, 0xffffffff
je 0x4339f9
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x34]
push ecx
inc eax
push 1
push edx
lea ecx, [esp + 0x30]
mov dword [esp + 0x40], eax
call fcn.004167b0
mov ebp, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
inc edi
jmp 0x4339bd
test ebx, ebx
je 0x43396d
mov eax, ebp
sub eax, ebx
sar eax, 2
je 0x43396d
test ecx, ecx
je 0x43396d
mov edx, dword [esp + 0x1c]
sub edx, ecx
sar edx, 2
je 0x43396d
mov dword [esp + 0x10], 0
test ebx, ebx
je 0x43396d
mov edx, dword [esp + 0x10]
mov eax, ebp
sub eax, ebx
sar eax, 2
cmp edx, eax
jae 0x43396d
xor edi, edi
test ecx, ecx
je 0x433aad
mov edx, dword [esp + 0x1c]
sub edx, ecx
sar edx, 2
cmp edi, edx
jae 0x433aa9
mov eax, dword [ecx + edi*4]
lea ecx, [esi + 0x78]
push eax
call fcn.00415e40
xor ecx, ecx
cmp eax, 0xffffffff
sete cl
mov eax, ecx
test eax, eax
jne 0x433b08
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0x10]
cmp dword [ebx + edx*4], 0
je 0x433aa1
mov ebp, dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
inc edi
jmp 0x433a59
mov ebp, dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x433ab1
xor eax, eax
jmp 0x433aba
mov eax, dword [esp + 0x1c]
sub eax, ecx
sar eax, 2
cmp edi, eax
jne 0x433aff
mov edx, dword [esp + 0x10]
mov edi, ebp
lea eax, [edx*4]
dec edx
mov dword [esp + 0x10], edx
lea edx, [eax + ebx]
lea eax, [edx + 4]
cmp eax, ebp
je 0x433af4
sub edx, eax
mov ecx, dword [eax]
mov dword [edx + eax], ecx
add eax, 4
cmp eax, edi
jne 0x433adc
mov ebp, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
add ebp, 0xfffffffc
mov dword [esp + 0x34], ebp
mov dword [esp + 0x2c], ebp
inc dword [esp + 0x10]
jmp 0x433a3c
mov edx, dword [0x4d5f90]
mov dword [esp + 0x10], edx
mov eax, dword [esi + 0x5a4]
mov byte [esp + 0x9ec], 7
push eax
lea eax, [esp + 0x14]
push str._s_NO_Protocol_Error:_Invalid_UID_set_specified
push eax
call fcn.004a0e91
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push ecx
mov ecx, esi
call fcn.0042da70
lea ecx, [esp + 0x10]
mov byte [esp + 0x9ec], 3
call fcn.004a3625
mov edx, dword [esp + 0x18]
push edx
call fcn.004a2a3d
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x1c], 0
push eax
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
call fcn.004a2a3d
add esp, 8
xor al, al
jmp 0x433e3f
mov ecx, dword [0x4d5f90]
mov dword [esp + 0x10], ecx
mov eax, dword [esi + 0x5a4]
lea edx, [esp + 0x10]
push eax
push str._s_NO_Protocol_Error:_Invalid_message_set
push edx
mov byte [esp + 0x9f8], 8
call fcn.004a0e91
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov ecx, esi
push eax
call fcn.0042da70
lea ecx, [esp + 0x10]
mov byte [esp + 0x9ec], 3
call fcn.004a3625
mov ecx, dword [esp + 0x18]
push ecx
call fcn.004a2a3d
mov edx, dword [esp + 0x2c]
xor eax, eax
push edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
call fcn.004a2a3d
add esp, 8
xor al, al
jmp 0x433e3f
mov ecx, esi
call fcn.0042c110
test al, al
jne 0x433c78
mov eax, dword [0x4d5f90]
mov dword [esp + 0x34], eax
mov eax, dword [esi + 0x5a4]
lea ecx, [esp + 0x34]
push eax
push str._s_NO_Search_Failure:_Invalid_search_field_specified
push ecx
mov byte [esp + 0x9f8], 9
call fcn.004a0e91
mov edx, dword [esp + 0x40]
add esp, 0xc
mov ecx, esi
push edx
call fcn.0042da70
mov byte [esp + 0x9ec], 3
lea ecx, [esp + 0x34]
call fcn.004a3625
mov eax, dword [esp + 0x18]
push eax
call fcn.004a2a3d
mov ecx, dword [esp + 0x2c]
xor eax, eax
push ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
call fcn.004a2a3d
add esp, 8
xor al, al
jmp 0x433e3f
lea ecx, [esp + 0xa8]
call fcn.0043abc0
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov byte [esp + 0x9ec], 0xa
xor ebp, ebp
test ecx, ecx
je 0x433d1f
sub eax, ecx
sar eax, 2
cmp ebp, eax
jae 0x433d1f
lea edi, [ebp*4]
mov edx, dword [edi + ecx]
lea ecx, [esi + 0x78]
dec edx
push edx
call fcn.004148c0
push 0
push 0
push 0
lea ecx, [esi + 0x5ac]
push 0
push ecx
push eax
lea ecx, [esp + 0xc0]
call fcn.0043acb0
test al, al
jne 0x433d11
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
add edi, ecx
dec ebp
lea eax, [edi + 4]
cmp eax, edx
je 0x433d03
sub edi, eax
mov ecx, dword [eax]
mov dword [edi + eax], ecx
add eax, 4
cmp eax, edx
jne 0x433cef
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
lea eax, [edx - 4]
inc ebp
mov dword [esp + 0x34], eax
mov dword [esp + 0x2c], eax
jmp 0x433c96
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
inc ebp
jmp 0x433c96
mov bl, byte [esp + 0x9f4]
test bl, bl
je 0x433d3b
lea edx, [esp + 0x14]
lea eax, [esp + 0x24]
push edx
push eax
mov ecx, esi
call fcn.0042adb0
push str._SEARCH
lea ecx, [esp + 0x40]
call fcn.004a364f
mov ecx, dword [0x4d5f90]
mov dword [esp + 0x40], ecx
mov byte [esp + 0x9ec], 0xc
xor edi, edi
mov eax, dword [esp + 0x28]
xor ebp, ebp
cmp eax, ebp
je 0x433db3
mov edx, dword [esp + 0x2c]
sub edx, eax
sar edx, 2
cmp edi, edx
jae 0x433db3
test bl, bl
je 0x433d8c
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x40]
mov ecx, dword [eax + edi*4]
push ecx
push 0x4cccac
push edx
jmp 0x433d9a
mov eax, dword [eax + edi*4]
lea ecx, [esp + 0x40]
push eax
push 0x4cccac
push ecx
call fcn.004a0e91
add esp, 0xc
lea edx, [esp + 0x40]
lea ecx, [esp + 0x3c]
push edx
call fcn.004a381e
inc edi
jmp 0x433d5d
mov eax, dword [esp + 0x3c]
mov ecx, esi
push eax
call fcn.0042da70
mov eax, dword [esi + 0x5a4]
lea ecx, [esp + 0x3c]
push eax
push str._s_OK_SEARCH_completed
push ecx
call fcn.004a0e91
mov edx, dword [esp + 0x48]
add esp, 0xc
mov ecx, esi
push edx
call fcn.0042da70
lea ecx, [esp + 0x40]
mov byte [esp + 0x9ec], 0xb
call fcn.004a3625
lea ecx, [esp + 0x3c]
mov byte [esp + 0x9ec], 0xa
call fcn.004a3625
lea ecx, [esp + 0xa8]
mov byte [esp + 0x9ec], 3
call fcn.0043ac40
mov eax, dword [esp + 0x18]
push eax
call fcn.004a2a3d
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x1c], ebp
push ecx
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebp
call fcn.004a2a3d
add esp, 8
mov al, 1
mov ecx, dword [esp + 0x9e4]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x9e0
ret 4