Function at 0x428a00
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x57477f
mov eax, dword fs:[0]
push eax
sub esp, 0x118
mov eax, dword [0x5f0bf8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor eax, eax
mov dword [ebp - 4], eax
mov edi, dword [ebp + 8]
mov esi, ecx
mov dword [ebp - 0x11c], edi
mov dword [ebp - 0x118], eax
mov ebx, 1
mov dword [ebp - 4], ebx
mov dword [ebp - method.CFX_URLEncode.virtual_0], vtable.CFX_URLEncode.0
mov byte [ebp - 4], 2
push 0xffffffffffffffff
push ecx
lea eax, [ebp + 0xc]
mov ecx, esp
mov dword [ebp - 0xe4], esp
push eax
call fcn.005683c6
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xe8]
push ecx
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x114]
call fcn.004300c0
mov byte [ebp - 4], 4
mov eax, dword [eax]
test eax, eax
je 0x428a97
add eax, 0xc
jmp 0x428a9c
mov eax, 0x587f88
push eax
lea edx, [ebp - 0xdc]
push edx
call fcn.005693e5
add esp, 0xc
mov byte [ebp - 4], 5
mov eax, dword [eax]
test eax, eax
je 0x428abb
add eax, 0xc
jmp 0x428ac0
mov eax, 0x587f8c
push eax
lea ecx, [ebp - 0x110]
call fcn.00404420
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xdc]
call fcn.005685da
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xe8]
call fcn.005685da
push str._get_addons.php_addon
mov ecx, edi
call fcn.00404420
mov eax, dword [ebp - 0x110]
mov ecx, dword [eax - 0xc]
push ecx
push eax
mov ecx, edi
mov dword [ebp - 0x118], ebx
call fcn.00409220
push 9
push str.product
mov ecx, edi
mov dword [ebp - 0xe8], 0
call fcn.00409220
push str.ProfStoreProfStore.xml
lea eax, [esi + 0x9c]
push eax
lea ecx, [ebp - 0x10c]
push ecx
call fcn.00406d70
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x10c]
push 0
push edx
call fcn.00544011
add esp, 0x14
mov ecx, edi
test eax, eax
jne 0x428b68
push 0x11
mov dword [ebp - 0xe8], ebx
push str.Enterprise_Reader
jmp 0x428b6f
push 6
push str.Reader
call fcn.00409220
lea eax, [ebp - 0xec]
push eax
mov ecx, esi
call fcn.004268e0
mov byte [ebp - 4], 0xa
push 0x587f8c
lea ecx, [ebp - 0x108]
call fcn.00404420
mov byte [ebp - 4], 0xb
push 0x587f8c
lea ecx, [ebp - 0x100]
call fcn.00404420
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0xec]
mov eax, dword [ecx - 0xc]
test eax, eax
je 0x428d48
jg 0x428bc6
or eax, 0xffffffff
jmp 0x428be4
push 0x2e
push ecx
call fcn.0054472f
mov ecx, dword [ebp - 0xec]
add esp, 8
test eax, eax
jne 0x428be0
or eax, 0xffffffff
jmp 0x428be4
sub eax, ecx
sar eax, 1
inc eax
mov edx, dword [ecx - 0xc]
js 0x428c0c
cmp eax, edx
jge 0x428c0c
lea ecx, [ecx + eax*2]
push 0x2e
push ecx
call fcn.0054472f
add esp, 8
test eax, eax
je 0x428c0c
sub eax, dword [ebp - 0xec]
sar eax, 1
mov esi, eax
jmp 0x428c0f
or esi, 0xffffffff
push esi
lea edx, [ebp - 0xdc]
push edx
lea ecx, [ebp - 0xec]
call fcn.00405f30
mov byte [ebp - 4], 0xd
push eax
lea ecx, [ebp - 0x108]
call fcn.00403760
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0xdc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x428c58
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
inc esi
push esi
lea ecx, [ebp - 0xdc]
push ecx
lea ecx, [ebp - 0xec]
call fcn.004036f0
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0x100]
call fcn.00403760
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0xdc]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x428ca2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x108]
push ecx
lea edx, [ebp - 0xdc]
push str.version
push edx
call fcn.0040cf70
add esp, 0xc
mov byte [ebp - 4], 0x11
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
mov ecx, edi
call fcn.00409220
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0xdc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x428cf5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x100]
push ecx
lea edx, [ebp - 0xdc]
push str.build
push edx
call fcn.0040cf70
add esp, 0xc
mov byte [ebp - 4], 0x13
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
mov ecx, edi
call fcn.00409220
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0xdc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x428d48
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0xdc]
push ecx
call fcn.00430430
add esp, 4
mov byte [ebp - 4], 0x15
mov eax, dword [eax]
test eax, eax
je 0x428d66
add eax, 0xc
jmp 0x428d6b
mov eax, 0x587f8c
push eax
lea ecx, [ebp - 0xf4]
call fcn.00404420
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0xdc]
call fcn.005685da
mov edx, dword [ebp - 0xf4]
cmp dword [edx - 0xc], 0
je 0x428de5
lea eax, [ebp - 0xf4]
push eax
lea ecx, [ebp - 0xf0]
push str.language
push ecx
call fcn.0040cf70
add esp, 0xc
mov byte [ebp - 4], 0x18
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
mov ecx, edi
call fcn.00409220
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0xf0]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x428de5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov ebx, eax
call fcn.0044184e
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x428e07
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xf0], eax
mov byte [ebp - 4], 0x1b
call fcn.0044184e
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x428e37
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xf8], eax
mov byte [ebp - 4], 0x1d
movzx ecx, bl
push ecx
lea edx, [ebp - 0xf0]
push 0x58d0e4
push edx
call fcn.00403cd0
shr ebx, 8
movzx eax, bl
push eax
lea ecx, [ebp - 0xf8]
push 0x58d0e4
push ecx
call fcn.00403cd0
mov edx, dword [ebp - 0xf0]
add esp, 0x18
cmp dword [edx - 0xc], 0
je 0x428edc
lea eax, [ebp - 0xf0]
push eax
lea ecx, [ebp - 0xdc]
push str.major
push ecx
call fcn.0040cf70
add esp, 0xc
mov byte [ebp - 4], 0x1e
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
mov ecx, edi
call fcn.00409220
mov byte [ebp - 4], 0x1d
mov eax, dword [ebp - 0xdc]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x428edc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0xf8]
cmp dword [ecx - 0xc], 0
je 0x428f3b
lea edx, [ebp - 0xf8]
push edx
lea eax, [ebp - 0xdc]
push str.minor
push eax
call fcn.0040cf70
add esp, 0xc
mov byte [ebp - 4], 0x20
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
mov ecx, edi
call fcn.00409220
mov byte [ebp - 4], 0x1d
mov eax, dword [ebp - 0xdc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x428f3b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0044184e
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x428f55
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xfc], eax
mov byte [ebp - 4], 0x23
call dword [sym.imp.KERNEL32.dll_GetACP]
push eax
lea ecx, [ebp - 0xfc]
push 0x58bc88
push ecx
call fcn.00403cd0
mov edx, dword [ebp - 0xfc]
add esp, 0xc
cmp dword [edx - 0xc], 0
je 0x428fe5
lea eax, [ebp - 0xfc]
push eax
lea ecx, [ebp - 0xdc]
push str.codepage
push ecx
call fcn.0040cf70
add esp, 0xc
mov byte [ebp - 4], 0x24
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
mov ecx, edi
call fcn.00409220
mov byte [ebp - 4], 0x23
mov eax, dword [ebp - 0xdc]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x428fe5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0044184e
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x428fff
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xdc], eax
mov byte [ebp - 4], 0x27
mov eax, dword [ebp - 0xf4]
cmp dword [eax - 0xc], 0
jge 0x429026
or eax, 0xffffffff
jmp 0x429045
push 0x588f10
push eax
call fcn.00543063
add esp, 8
test eax, eax
jne 0x42903d
or eax, 0xffffffff
jmp 0x429045
sub eax, dword [ebp - 0xf4]
sar eax, 1
add eax, 5
push eax
lea ecx, [ebp - 0xe4]
push ecx
lea ecx, [ebp - 0xf4]
call fcn.004036f0
mov byte [ebp - 4], 0x28
push eax
lea ecx, [ebp - 0xdc]
call fcn.00403760
mov byte [ebp - 4], 0x27
mov eax, dword [ebp - 0xe4]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x429091
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0xdc]
push ecx
lea edx, [ebp - 0xe4]
push str.EmbededLanguage
push edx
call fcn.0040cf70
add esp, 0xc
mov byte [ebp - 4], 0x2a
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
mov ecx, edi
call fcn.00409220
mov byte [ebp - 4], 0x27
mov eax, dword [ebp - 0xe4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4290e4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x587f8c
lea ecx, [ebp - 0xe0]
call fcn.00404420
mov byte [ebp - 4], 0x2c
mov edx, dword [ebp - 0xe0]
mov eax, dword [edx - 8]
mov ecx, 1
sub ecx, dword [edx - 4]
sub eax, 0x104
or eax, ecx
jge 0x429128
push 0x104
lea ecx, [ebp - 0xe0]
call fcn.00401e20
mov edx, dword [ebp - 0xe0]
push 0x104
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax - 8]
push ecx
push eax
call fcn.00543dc3
add esp, 8
test eax, eax
js 0x42964a
mov ecx, dword [ebp - 0xe0]
cmp eax, dword [ecx - 8]
jg 0x42964a
mov dword [ecx - 0xc], eax
mov edx, dword [ebp - 0xe0]
xor ecx, ecx
mov word [edx + eax*2], cx
mov eax, dword [ebp - 0xe0]
push 0x5c
push eax
call fcn.00543d95
add esp, 8
test eax, eax
jne 0x429189
or eax, 0xffffffff
jmp 0x429191
sub eax, dword [ebp - 0xe0]
sar eax, 1
inc eax
push eax
lea ecx, [ebp - 0xe4]
push ecx
lea ecx, [ebp - 0xe0]
call fcn.00405f30
mov byte [ebp - 4], 0x2d
push eax
lea ecx, [ebp - 0xe0]
call fcn.00403760
mov byte [ebp - 4], 0x2c
mov eax, dword [ebp - 0xe4]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4291db
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.FoxitUpdateMode.ini
lea ecx, [ebp - 0xe0]
push ecx
lea edx, [ebp - 0x104]
push edx
call fcn.00406d70
add esp, 0xc
mov byte [ebp - 4], 0x2f
push 0xa
push 0x58d048
mov ecx, edi
call fcn.00409220
mov eax, dword [ebp - 0x104]
push 0
push eax
call fcn.00544011
add esp, 8
test eax, eax
jne 0x4292f4
mov ecx, dword [ebp - 0x104]
push ecx
push 0x64
lea edx, [ebp - 0xd8]
push edx
push str.not_found
push str.mode
push 0x58d008
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov ecx, 0x58d004
lea eax, [ebp - 0xd8]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x429277
test dx, dx
je 0x429273
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x429277
add eax, 4
add ecx, 4
test dx, dx
jne 0x429251
xor eax, eax
jmp 0x42927c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4292bf
mov ecx, 0x58d000
lea eax, [ebp - 0xd8]
jmp 0x429290
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4292b6
test dx, dx
je 0x4292b2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4292b6
add eax, 4
add ecx, 4
test dx, dx
jne 0x429290
xor eax, eax
jmp 0x4292bb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4292f4
push 6
push 0x58cff0
mov ecx, edi
call fcn.00409220
lea eax, [ebp - 0xd8]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4292d6
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0xd8]
push eax
mov ecx, edi
call fcn.00409220
cmp dword [ebp - 0xe8], 0
jne 0x429448
call fcn.0044184e
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x42931b
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xe8], eax
mov bl, 0x31
mov byte [ebp - 4], bl
push ecx
mov dword [ebp - 0x124], esp
mov ecx, esp
push 0xffffffffffffffff
push 0x588f1c
call fcn.005685f4
mov byte [ebp - 4], 0x32
push ecx
mov dword [ebp - 0x120], esp
mov ecx, esp
push 0xffffffffffffffff
push str.SOFTWAREFoxit_SoftwareFoxit_ReaderFoxit_Information
call fcn.005685f4
mov byte [ebp - 4], 0x33
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0xe4]
push ecx
mov byte [ebp - 4], bl
call fcn.0042fc70
add esp, 0x10
mov byte [ebp - 4], 0x34
mov eax, dword [eax]
test eax, eax
je 0x429390
lea edx, [eax + 0xc]
test edx, edx
jne 0x429395
xor eax, eax
jmp 0x4293af
mov edx, 0x587f8c
mov eax, edx
lea esi, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4293a0
sub eax, esi
sar eax, 1
push eax
push edx
lea ecx, [ebp - 0xe8]
call fcn.00402e30
mov byte [ebp - 4], bl
lea ecx, [ebp - 0xe4]
call fcn.005685da
mov esi, dword [ebp - 0xe8]
cmp dword [esi - 0xc], 0
je 0x429428
lea edx, [ebp - 0xe8]
push edx
lea eax, [ebp - 0xe4]
push str.AgentID
push eax
call fcn.0040cf70
add esp, 0xc
mov byte [ebp - 4], 0x35
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
mov ecx, edi
call fcn.00409220
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0xe4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x429428
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x2f
lea eax, [esi - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x429448
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x2c
mov eax, dword [ebp - 0x104]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42946e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x27
mov eax, dword [ebp - 0xe0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x429494
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x23
mov eax, dword [ebp - 0xdc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4294ba
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x1d
mov eax, dword [ebp - 0xfc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4294e0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0xf8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x429506
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0xf0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42952c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0xf4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x429552
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x100]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x429578
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x108]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42959e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0xec]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4295c4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x10c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4295ea
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x110]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x429610
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 1
mov dword [ebp - method.CFX_URLEncode.virtual_0], vtable.CFX_URLEncode.0
mov byte [ebp - 4], 0
lea ecx, [ebp + 0xc]
call fcn.005685da
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005437e5
mov esp, ebp
pop ebp
ret 8
push 0x80070057
call fcn.00401090
int3