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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x180
mov edi, ecx
mov edx, dword [ebp + 0x10]
mov ecx, dword [ecx + 0x14]
mov eax, ecx
and eax, 7
mov ebx, dword [ebp + 0xc]
cmp eax, 3
je 0x4929c2
cmp eax, 1
je 0x49298d
test eax, eax
jne 0x492a0b
mov edi, dword [ebp + 8]
mov eax, dword [edi + 4]
mov esi, dword [edi + 8]
lea edx, [eax + 4]
test cl, 8
jne 0x492a3d
cmp esi, edx
jae 0x49297b
lea eax, [edi + 0xc]
mov ecx, edi
push 1
push edx
push eax
call fcn.0046e2c0
mov eax, dword [edi + 4]
mov ecx, dword [edi]
mov dword [ecx + eax], 0x666e492b
add dword [edi + 4], 4
jmp 0x493657
mov esi, dword [ebp + 8]
mov eax, dword [esi + 4]
lea edx, [eax + 3]
cmp dword [esi + 8], edx
jae 0x4929ac
lea eax, [esi + 0xc]
mov ecx, esi
push 1
push edx
push eax
call fcn.0046e2c0
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov byte [ecx + eax + 2], 0x4e
mov word [ecx + eax], 0x614e
add dword [esi + 4], 3
jmp 0x493657
test cl, 8
mov esi, dword [ebp + 8]
je 0x4929e6
mov edi, edx
mov eax, dword [esi + 4]
lea edx, [eax + 1]
cmp edx, dword [esi + 8]
ja 0x493899
mov ecx, dword [esi]
mov byte [ecx + eax], 0x2d
inc dword [esi + 4]
mov edx, edi
mov eax, dword [esi + 4]
test edx, edx
je 0x492afa
lea edx, [eax + 1]
cmp edx, dword [esi + 8]
ja 0x493866
mov ecx, dword [esi]
mov byte [ecx + eax], 0x30
inc dword [esi + 4]
jmp 0x493657
test cl, 8
je 0x492a2b
mov esi, dword [ebp + 8]
mov eax, dword [esi + 4]
lea edx, [eax + 1]
cmp edx, dword [esi + 8]
ja 0x4938af
mov ecx, dword [esi]
mov byte [ecx + eax], 0x2d
inc dword [esi + 4]
mov eax, dword [edi]
mov esi, dword [eax + 8]
lea eax, [esi - 0x40]
cmp eax, 0xffffff80
jae 0x492a64
mov eax, dword [edi + 8]
jmp 0x492a67
cmp esi, edx
jae 0x492a52
lea eax, [edi + 0xc]
mov ecx, edi
push 1
push edx
push eax
call fcn.0046e2c0
mov eax, dword [edi + 4]
mov ecx, dword [edi]
mov dword [ecx + eax], 0x666e492d
add dword [edi + 4], 4
jmp 0x493657
lea eax, [edi + 8]
mov ecx, dword [edi + 0x10]
mov dword [esp + 4], ecx
lea ecx, [esi + 0x3f]
shr ecx, 6
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ecx
sub esp, 0xc
movsd xmm0, qword [esp + 0x74]
movsd qword [esp + 4], xmm0
mov dword [esp], esi
lea ecx, [esp + 0x1c]
call fcn.0046e820
test ebx, ebx
je 0x492b38
mov dword [esp + 0xc], ebx
mov ecx, dword [esp + 0x18]
cmp ecx, 0x40
ja 0x492b5e
mov dword [esp + 8], esi
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
bsf ebx, edx
mov esi, 0x20
cmovne esi, ebx
add esi, 0x20
bsf ebx, eax
cmove ebx, esi
cmp ecx, ebx
cmovb ebx, ecx
jbe 0x492b75
mov ecx, ebx
shrd eax, edx, cl
shr edx, cl
xor ecx, ecx
test bl, 0x20
cmovne eax, edx
cmove ecx, edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
jmp 0x492b85
mov ecx, dword [esi + 8]
cmp byte [ebp + 0x14], 0
je 0x492d46
lea edx, [eax + 6]
cmp ecx, edx
jae 0x492b1f
lea eax, [esi + 0xc]
mov ecx, esi
push 1
push edx
push eax
call fcn.0046e2c0
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov word [ecx + eax + 4], 0x302b
mov dword [ecx + eax], 0x45302e30
add dword [esi + 4], 6
jmp 0x493657
mov eax, dword [edi]
imul eax, dword [eax + 8], 0x3b
mov ecx, 0x5397829d
mul ecx
mov ebx, edx
shr ebx, 6
add ebx, 2
mov dword [esp + 0xc], ebx
mov ecx, dword [esp + 0x18]
cmp ecx, 0x40
jbe 0x492ab0
lea ecx, [esp + 0x10]
call fcn.00473190
mov ebx, eax
lea ecx, [esp + 0x10]
push eax
call fcn.004776d0
jmp 0x492b89
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov esi, dword [esp + 8]
mov ecx, dword [esp + 4]
sub ecx, esi
add ecx, ebx
inc ecx
je 0x492c6a
test ecx, ecx
jle 0x492c77
mov eax, dword [edi]
mov eax, dword [eax + 8]
mov esi, ecx
add eax, ecx
lea ecx, [esp + 0x70]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00470a00
cmp dword [esp + 0x18], 0x41
jb 0x492bd0
mov eax, dword [esp + 0x10]
test eax, eax
je 0x492bd0
push eax
call sub.libc.dll_operator_delete___void_
add esp, 4
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x74]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
mov ebx, dword [esp + 0x78]
mov dword [esp + 0x18], ebx
cmp ebx, 0x40
ja 0x492d2f
mov ecx, esi
shld eax, edx, cl
shl edx, cl
xor esi, esi
test cl, 0x20
cmovne eax, edx
cmovne edx, esi
cmp ebx, ecx
cmove eax, esi
cmove edx, esi
mov ecx, ebx
neg cl
mov edi, 0xffffffff
shr edi, cl
test cl, 0x20
mov ecx, edi
mov esi, 0xffffffff
cmove edi, esi
mov esi, 0
cmovne ecx, esi
test ebx, ebx
je 0x4938f5
mov esi, ecx
mov ebx, dword [esp + 0xc]
and edx, edi
and eax, esi
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
mov dword [esp + 4], 0
mov esi, dword [esp + 0x18]
cmp esi, 0x40
jbe 0x492e35
lea ecx, [esp + 0x10]
call fcn.00473050
mov ecx, eax
jmp 0x492e5d
mov dword [esp + 4], 0
jmp 0x492e24
mov dword [esp + 4], ecx
imul eax, ecx, 0xffffff77
add eax, 0x88
mov ecx, 0x22b63cbf
imul ecx
mov ebx, edx
mov eax, dword [edi]
mov ecx, edx
shr ecx, 0x1f
sar ebx, 3
add ebx, ecx
add ebx, dword [eax + 8]
lea edi, [esp + 0x70]
mov ecx, edi
push ebx
lea eax, [esp + 0x14]
push eax
call fcn.00470a00
cmp dword [esp + 0x18], 0x41
jb 0x492cc7
mov eax, dword [esp + 0x10]
test eax, eax
je 0x492cc7
push eax
call sub.libc.dll_operator_delete___void_
add esp, 4
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x18], eax
mov dword [esp + 0x78], ebx
cmp ebx, 0x40
ja 0x492dc8
mov ecx, ebx
neg cl
mov edx, 0xffffffff
mov eax, 0xffffffff
shr eax, cl
test cl, 0x20
cmove eax, edx
xor ecx, ecx
test ebx, ebx
je 0x49393f
and eax, 5
mov ebx, dword [esp + 4]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
neg ebx
lea esi, [esp + 0x10]
test bl, 1
je 0x492e07
jmp 0x492dff
lea ecx, [esp + 0x10]
push esi
call fcn.00477d40
mov dword [esp + 4], 0
jmp 0x492e24
lea edx, [eax + 3]
cmp ecx, edx
jae 0x492d5e
lea eax, [esi + 0xc]
mov ecx, esi
push 1
push edx
push eax
call fcn.0046e2c0
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov byte [ecx + eax + 2], 0x30
mov word [ecx + eax], 0x2e30
mov eax, dword [esi + 4]
add eax, 3
mov dword [esi + 4], eax
cmp ebx, 2
jb 0x492d9d
lea edx, [eax + ebx]
dec edx
dec ebx
cmp edx, dword [esi + 8]
ja 0x493946
add eax, dword [esi]
push ebx
push 0x30
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
add ebx, dword [esi + 4]
mov dword [esi + 4], ebx
mov eax, ebx
lea edx, [eax + 4]
cmp dword [esi + 8], edx
jae 0x492db6
lea eax, [esi + 0xc]
mov ecx, esi
push 1
push edx
push eax
call fcn.0046e2c0
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov dword [ecx + eax], 0x30302b65
add dword [esi + 4], 4
jmp 0x493657
lea ecx, [esp + 0x70]
push 0
push 0
push 5
call fcn.0046e5a0
mov ebx, dword [esp + 4]
neg ebx
lea esi, [esp + 0x10]
test bl, 1
je 0x492e07
jmp 0x492dff
sar ebx, 1
mov ecx, edi
push edi
call fcn.0046ff10
test bl, 1
je 0x492e07
mov ecx, esi
push edi
call fcn.0046ff10
cmp ebx, 2
jae 0x492df0
cmp dword [esp + 0x78], 0x41
jb 0x492e24
mov eax, dword [esp + 0x70]
test eax, eax
je 0x492e24
push eax
call sub.libc.dll_operator_delete___void_
add esp, 4
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 0x18]
cmp esi, 0x40
ja 0x492c5a
bsr eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, 0x3f
cmovne edx, eax
xor edx, 0x1f
add edx, 0x20
bsr eax, ecx
xor eax, 0x1f
test ecx, ecx
cmove eax, edx
lea ecx, [esi + eax]
add ecx, 0xffffffc0
imul eax, ebx, 0xc4
add eax, 0x3a
mov edx, 0x22b63cbf
mul edx
mov edi, esi
mov eax, esi
sub eax, ecx
shr edx, 3
sub eax, edx
jbe 0x492e84
imul eax, eax, 0x3b
cmp eax, 0xc4
jae 0x492e8f
mov esi, dword [esp + 4]
mov ebx, edi
jmp 0x493034
mov ecx, 0x5397829d
mul ecx
mov ebx, edx
shr ebx, 6
mov dword [esp + 0x78], edi
cmp edi, 0x40
ja 0x492ebd
xor eax, eax
test edi, edi
setne al
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], 0
mov dword [esp + 0x30], edi
jmp 0x492ed9
lea ecx, [esp + 0x70]
push 0
push 0
push 1
call fcn.0046e5a0
mov edi, dword [esp + 0x18]
mov dword [esp + 0x30], edi
cmp edi, 0x40
ja 0x492f08
mov edx, edi
mov ecx, edx
neg cl
mov esi, 0xffffffff
mov eax, 0xffffffff
shr eax, cl
test cl, 0x20
cmove eax, esi
xor ecx, ecx
test edi, edi
je 0x4938fc
and eax, 0xa
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
jmp 0x492f17
lea ecx, [esp + 0x28]
push 0
push 0
push 0xa
call fcn.0046e5a0
mov esi, dword [esp + 4]
add esi, ebx
lea edi, [esp + 0x28]
test bl, 1
je 0x492f49
jmp 0x492f3f
shr ebx, 1
mov ecx, edi
push edi
call fcn.0046ff10
test bl, 1
je 0x492f49
lea ecx, [esp + 0x70]
push edi
call fcn.0046ff10
cmp ebx, 2
jae 0x492f30
lea ebx, [esp + 0x10]
lea ecx, [esp + 0x40]
lea eax, [esp + 0x70]
push eax
push ebx
call fcn.0047a8d0
cmp dword [esp + 0x18], 0x41
jb 0x492f79
mov eax, dword [esp + 0x10]
test eax, eax
je 0x492f79
push eax
call sub.libc.dll_operator_delete___void_
add esp, 4
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ecx
mov edi, dword [esp + 0x48]
mov dword [esp + 0x18], edi
cmp edi, 0x40
ja 0x492fba
bsr ecx, ecx
mov edx, 0x3f
cmovne edx, ecx
xor edx, 0x1f
add edx, 0x20
bsr ecx, eax
xor ecx, 0x1f
test eax, eax
cmove ecx, edx
lea eax, [edi + ecx]
add eax, 0xffffffc0
jmp 0x492fc3
lea ecx, [esp + 0x10]
call fcn.00473050
sub edi, eax
lea ecx, [esp + 0x40]
push edi
push ebx
call fcn.004764d0
cmp dword [esp + 0x18], 0x41
jb 0x492fe8
mov eax, dword [esp + 0x10]
test eax, eax
je 0x492fe8
push eax
call sub.libc.dll_operator_delete___void_
add esp, 4
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x18], eax
cmp dword [esp + 0x30], 0x41
jb 0x493018
mov eax, dword [esp + 0x28]
test eax, eax
je 0x493018
push eax
call sub.libc.dll_operator_delete___void_
add esp, 4
cmp dword [esp + 0x78], 0x41
jb 0x493030
mov eax, dword [esp + 0x70]
test eax, eax
je 0x493030
push eax
call sub.libc.dll_operator_delete___void_
add esp, 4
mov ebx, dword [esp + 0x18]
lea eax, [esp + 0x7c]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0x100
cmp ebx, 3
ja 0x4930a0
lea eax, [esp + 0x10]
lea ecx, [esp + 0x28]
push 4
push eax
call fcn.00470a00
cmp dword [esp + 0x18], 0x41
jb 0x493079
mov eax, dword [esp + 0x10]
test eax, eax
je 0x493079
push eax
call sub.libc.dll_operator_delete___void_
add esp, 4
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x18], eax
mov dword [esp + 0x48], 4
mov ebx, 4
jmp 0x4930a9
mov dword [esp + 0x48], ebx
cmp ebx, 0x40
ja 0x4930e4
mov ecx, ebx
neg cl
mov eax, 0xffffffff
mov edx, 0xffffffff
shr edx, cl
test cl, 0x20
cmove edx, eax
and edx, 0xa
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], 0
mov dword [esp + 0x58], ebx
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
jmp 0x493106
lea ecx, [esp + 0x40]
push 0
push 0
push 0xa
call fcn.0046e5a0
mov dword [esp + 0x58], ebx
lea ecx, [esp + 0x50]
push 0
push 0
push 0
call fcn.0046e5a0
mov dword [esp + 4], esi
lea esi, [esp + 0x50]
mov edi, dword [esp + 0x18]
cmp edi, 0x41
lea ebx, [esp + 0x10]
jb 0x493141
jmp 0x493131
inc dword [esp + 4]
mov edi, dword [esp + 0x18]
cmp edi, 0x41
lea ebx, [esp + 0x10]
jb 0x493141
mov ecx, ebx
call fcn.00473050
mov ecx, edi
sub ecx, eax
cmp ecx, 0x40
ja 0x493157
mov eax, ebx
cmp edi, 0x41
jb 0x49314c
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
or ecx, dword [eax + 4]
je 0x493232
push esi
push ebx
lea eax, [esp + 0x48]
push eax
push ebx
call fcn.0047b5b0
add esp, 0x10
cmp dword [esp + 0x58], 0x41
mov eax, esi
jb 0x493174
mov eax, dword [esp + 0x50]
mov ebx, dword [eax]
test ebx, ebx
je 0x493120
add bl, 0x30
mov eax, dword [esp + 0x74]
lea edx, [eax + 1]
cmp edx, dword [esp + 0x78]
ja 0x49387c
mov ecx, dword [esp + 0x70]
mov byte [ecx + eax], bl
inc dword [esp + 0x74]
lea edi, [esp + 0x10]
lea esi, [esp + 0x50]
mov ebx, dword [esp + 0x18]
cmp ebx, 0x41
jb 0x4931c0
nop word [eax + eax]
mov ecx, edi
call fcn.00473050
mov ecx, ebx
sub ecx, eax
cmp ecx, 0x40
ja 0x4931d2
mov eax, edi
cmp ebx, 0x41
jb 0x4931cb
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
or ecx, dword [eax + 4]
je 0x493232
push esi
push edi
lea eax, [esp + 0x48]
push eax
push edi
call fcn.0047b5b0
add esp, 0x10
cmp dword [esp + 0x58], 0x41
mov eax, esi
jb 0x4931ef
mov eax, dword [esp + 0x50]
movzx ebx, byte [eax]
mov eax, dword [esp + 0x74]
lea edx, [eax + 1]
cmp edx, dword [esp + 0x78]
ja 0x493218
add bl, 0x30
mov ecx, dword [esp + 0x70]
mov byte [ecx + eax], bl
inc dword [esp + 0x74]
mov ebx, dword [esp + 0x18]
cmp ebx, 0x41
jae 0x4931b0
jmp 0x4931c0
lea ecx, [esp + 0x70]
push 1
push edx
lea eax, [esp + 0x84]
push eax
call fcn.0046e2c0
mov eax, dword [esp + 0x74]
jmp 0x4931ff
mov ebx, dword [esp + 0x74]
mov ecx, dword [esp + 0xc]
mov edx, ecx
sub edx, ebx
mov dword [esp + 8], ebx
jae 0x49326d
mov eax, ebx
sub eax, ecx
mov esi, dword [esp + 0x70]
cmp byte [esi + eax - 1], 0x35
mov edi, dword [ebp + 8]
jge 0x493283
mov eax, ecx
neg eax
lea ecx, [esi + ebx]
mov edx, dword [ebp + 0x10]
cmp byte [ecx + eax], 0x30
jne 0x4932a2
inc eax
jne 0x493260
xor edi, edi
jmp 0x4932c6
mov edi, dword [ebp + 8]
mov bh, byte [ebp + 0x14]
mov edx, dword [ebp + 0x10]
test edx, edx
jne 0x493363
jmp 0x4933f7
mov dword [esp + 0x24], edx
lea ecx, [esi + eax]
xor ebx, ebx
nop dword [eax]
movzx edx, byte [ecx + ebx]
cmp dl, 0x39
jne 0x4932d4
inc ebx
cmp dword [esp + 0xc], ebx
jne 0x493290
jmp 0x4932e2
mov edi, eax
neg edi
jae 0x4932c6
add ebx, eax
mov dword [esp + 8], ebx
lea eax, [ebx + esi]
push edi
push eax
push esi
mov ebx, edx
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
mov edx, ebx
add esp, 0xc
mov eax, dword [esp + 0x70]
jmp 0x4932c8
mov eax, esi
mov bh, byte [ebp + 0x14]
add esi, edi
sub esi, eax
mov edi, dword [ebp + 8]
jmp 0x49334b
inc dl
lea ecx, [eax + ebx]
mov byte [esi + ecx], dl
cmp dword [esp + 0xc], ebx
jne 0x493309
mov dword [esp + 0x74], 0
xor eax, eax
cmp dword [esp + 0x78], 0
mov bh, byte [ebp + 0x14]
je 0x493903
mov ecx, dword [esp + 0x70]
mov byte [ecx + eax], 0x31
mov esi, dword [esp + 0x74]
inc esi
jmp 0x493348
mov dword [esp + 8], ecx
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0x24]
add ecx, esi
mov edx, edi
sub ecx, ebx
je 0x493334
add eax, ebx
add eax, edi
push ecx
push eax
push edi
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
add esp, 0xc
mov edx, dword [esp + 0x70]
add esi, edi
sub esi, edx
mov eax, dword [esp + 0x24]
add eax, esi
sub eax, ebx
mov esi, eax
mov edi, dword [ebp + 8]
mov bh, byte [ebp + 0x14]
mov edx, dword [ebp + 0x10]
mov eax, dword [esp + 8]
add dword [esp + 4], eax
mov dword [esp + 0x74], esi
mov dword [esp + 8], esi
test edx, edx
je 0x4933f7
mov eax, dword [esp + 4]
test eax, eax
js 0x4933d8
cmp eax, edx
ja 0x4933f7
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
add eax, ecx
cmp eax, dword [esp + 0xc]
ja 0x4933f7
mov esi, dword [esp + 8]
test esi, esi
je 0x493661
lea eax, [edi + 0xc]
mov dword [esp + 0xc], eax
mov eax, dword [edi + 4]
nop dword [eax]
mov ecx, dword [esp + 0x70]
movzx ebx, byte [ecx + esi - 1]
lea edx, [eax + 1]
cmp edx, dword [edi + 8]
ja 0x4933c5
mov ecx, dword [edi]
mov byte [ecx + eax], bl
mov eax, dword [edi + 4]
inc eax
mov dword [edi + 4], eax
dec esi
jne 0x4933a0
jmp 0x493661
mov ecx, edi
push 1
push edx
push dword [esp + 0x14]
call fcn.0046e2c0
mov eax, dword [edi + 4]
jmp 0x4933b1
mov ecx, dword [esp + 8]
lea esi, [ecx + eax]
mov eax, esi
dec eax
jns 0x4936e7
mov eax, 1
sub eax, esi
cmp eax, edx
jbe 0x4936e7
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 8]
mov bl, byte [eax + ecx - 1]
mov eax, dword [edi + 4]
lea edx, [eax + 1]
cmp edx, dword [edi + 8]
ja 0x49380e
mov ecx, dword [edi]
mov byte [ecx + eax], bl
mov eax, dword [edi + 4]
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
add eax, 2
cmp eax, dword [edi + 8]
ja 0x493824
mov esi, dword [esp + 8]
lea eax, [esi - 1]
mov dword [esp + 0x24], eax
mov eax, dword [edi]
mov byte [eax + ecx], 0x2e
mov edx, dword [edi + 4]
lea eax, [edx + 1]
mov dword [edi + 4], eax
cmp esi, 1
jne 0x49346a
test bh, bh
je 0x49346a
add edx, 2
cmp edx, dword [edi + 8]
ja 0x4938c5
mov ecx, dword [edi]
mov byte [ecx + eax], 0x30
mov eax, dword [edi + 4]
inc eax
mov dword [edi + 4], eax
jmp 0x493475
cmp dword [esp + 8], 1
jne 0x49369d
mov bl, 0x45
test bh, bh
je 0x493480
mov edi, dword [ebp + 8]
jmp 0x4934bb
mov bl, 0x65
mov esi, dword [esp + 0xc]
cmp esi, dword [esp + 0x24]
mov edi, dword [ebp + 8]
jbe 0x4934bb
sub esi, dword [esp + 8]
lea edx, [eax + esi]
inc edx
inc esi
cmp edx, dword [edi + 8]
ja 0x493921
test esi, esi
je 0x4934b6
add eax, dword [edi]
push esi
push 0x30
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov eax, dword [edi + 4]
add eax, esi
mov dword [edi + 4], eax
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
lea esi, [edx + ecx]
dec esi
lea edx, [eax + 1]
cmp edx, dword [edi + 8]
ja 0x49383a
mov ecx, dword [edi]
mov byte [ecx + eax], bl
mov eax, dword [edi + 4]
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov ebx, esi
shr ebx, 0x1f
add bl, bl
add bl, 0x2b
add eax, 2
cmp eax, dword [edi + 8]
ja 0x493850
mov eax, dword [edi]
mov byte [eax + ecx], bl
inc dword [edi + 4]
mov ebx, esi
neg ebx
cmovs ebx, esi
lea eax, [esp + 0x34]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 6
xor esi, esi
mov eax, ebx
mov ecx, 0xcccccccd
mul ecx
mov edi, edx
lea eax, [esi + 1]
cmp eax, dword [esp + 0x30]
ja 0x49355f
shr edi, 3
lea eax, [edi + edi]
lea eax, [eax + eax*4]
mov ecx, ebx
sub ecx, eax
or cl, 0x30
mov eax, dword [esp + 0x28]
mov byte [eax + esi], cl
mov eax, dword [esp + 0x2c]
lea esi, [eax + 1]
mov dword [esp + 0x2c], esi
cmp ebx, 9
mov ebx, edi
ja 0x493520
jmp 0x493576
lea ecx, [esp + 0x28]
push 1
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.0046e2c0
mov esi, dword [esp + 0x2c]
jmp 0x493534
cmp byte [ebp + 0x14], 0
jne 0x49359f
cmp esi, 1
ja 0x49359f
add eax, 2
cmp eax, dword [esp + 0x30]
ja 0x4938db
mov eax, dword [esp + 0x28]
mov byte [eax + esi], 0x30
mov esi, dword [esp + 0x2c]
inc esi
mov dword [esp + 0x2c], esi
test esi, esi
mov edi, dword [ebp + 8]
je 0x4935e5
lea eax, [edi + 0xc]
mov dword [esp + 4], eax
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x28]
movzx ebx, byte [ecx + esi - 1]
lea edx, [eax + 1]
cmp edx, dword [edi + 8]
ja 0x4935d2
mov ecx, dword [edi]
mov byte [ecx + eax], bl
mov eax, dword [edi + 4]
inc eax
mov dword [edi + 4], eax
dec esi
jne 0x4935b0
jmp 0x4935e5
mov ecx, edi
push 1
push edx
push dword [esp + 0xc]
call fcn.0046e2c0
mov eax, dword [edi + 4]
jmp 0x4935c1
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x34]
cmp eax, ecx
je 0x4935fa
push eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
add esp, 4
cmp dword [esp + 0x58], 0x41
jb 0x493612
mov eax, dword [esp + 0x50]
test eax, eax
je 0x493612
push eax
call sub.libc.dll_operator_delete___void_
add esp, 4
cmp dword [esp + 0x48], 0x41
jb 0x49362a
mov eax, dword [esp + 0x40]
test eax, eax
je 0x49362a
push eax
call sub.libc.dll_operator_delete___void_
add esp, 4
mov eax, dword [esp + 0x70]
lea ecx, [esp + 0x7c]
cmp eax, ecx
je 0x49363f
push eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
add esp, 4
cmp dword [esp + 0x18], 0x41
jb 0x493657
mov eax, dword [esp + 0x10]
test eax, eax
je 0x493657
push eax
call sub.libc.dll_operator_delete___void_
add esp, 4
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x10
mov ebx, dword [esp + 4]
test ebx, ebx
je 0x4935fa
lea esi, [edi + 0xc]
mov eax, dword [edi + 4]
nop
lea edx, [eax + 1]
cmp edx, dword [edi + 8]
ja 0x49368d
mov ecx, dword [edi]
mov byte [ecx + eax], 0x30
mov eax, dword [edi + 4]
inc eax
mov dword [edi + 4], eax
dec ebx
jne 0x493670
jmp 0x4935fa
mov ecx, edi
push 1
push edx
push esi
call fcn.0046e2c0
mov eax, dword [edi + 4]
jmp 0x493678
lea ecx, [edi + 0xc]
mov dword [esp + 0x64], ecx
mov esi, dword [esp + 0x24]
nop dword [eax + eax]
mov ecx, dword [esp + 0x70]
mov bl, byte [ecx + esi - 1]
lea edx, [eax + 1]
cmp edx, dword [edi + 8]
ja 0x4936d4
mov ecx, dword [edi]
mov byte [ecx + eax], bl
mov eax, dword [edi + 4]
inc eax
mov dword [edi + 4], eax
dec esi
jne 0x4936b0
jmp 0x493475
mov ecx, edi
push 1
push edx
push dword [esp + 0x6c]
call fcn.0046e2c0
mov eax, dword [edi + 4]
jmp 0x4936c0
test esi, esi
jle 0x493760
mov dword [esp + 0xc], esi
lea eax, [edi + 0xc]
mov dword [esp + 0x24], eax
mov eax, dword [edi + 4]
mov ecx, dword [esp + 4]
neg ecx
mov esi, edi
mov edi, dword [esp + 8]
mov dword [esp + 4], ecx
nop dword [eax]
mov ecx, dword [esp + 0x70]
movzx ebx, byte [ecx + edi - 1]
lea edx, [eax + 1]
cmp edx, dword [esi + 8]
ja 0x493738
mov ecx, dword [esi]
mov byte [ecx + eax], bl
mov eax, dword [esi + 4]
inc eax
mov dword [esi + 4], eax
dec edi
mov ecx, dword [esp + 4]
cmp ecx, edi
jne 0x493710
jmp 0x49374b
mov ecx, esi
push 1
push edx
push dword [esp + 0x2c]
call fcn.0046e2c0
mov eax, dword [esi + 4]
jmp 0x493721
mov ecx, esi
push 0x2e
call fcn.00493960
mov edi, esi
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0xc]
jmp 0x4937bf
mov ecx, edi
push 0x30
call fcn.00493960
mov ecx, edi
push 0x2e
call fcn.00493960
test esi, esi
mov ebx, dword [esp + 8]
je 0x4937bd
lea eax, [edi + 0xc]
mov dword [esp + 4], eax
mov eax, dword [edi + 4]
nop word cs:[eax + eax]
lea edx, [eax + 1]
cmp edx, dword [edi + 8]
ja 0x4937aa
mov ecx, dword [edi]
mov byte [ecx + eax], 0x30
mov eax, dword [edi + 4]
inc eax
mov dword [edi + 4], eax
inc esi
jne 0x493790
jmp 0x4937bd
mov ecx, edi
push 1
push edx
push dword [esp + 0xc]
call fcn.0046e2c0
mov eax, dword [edi + 4]
jmp 0x493798
xor eax, eax
sub ebx, eax
je 0x4935fa
lea esi, [edi + 0xc]
mov eax, dword [edi + 4]
nop dword [eax]
mov ecx, dword [esp + 0x70]
movzx ecx, byte [ecx + ebx - 1]
mov byte [esp + 4], cl
lea edx, [eax + 1]
cmp edx, dword [edi + 8]
ja 0x4937fe
mov ecx, dword [edi]
movzx edx, byte [esp + 4]
mov byte [ecx + eax], dl
mov eax, dword [edi + 4]
inc eax
mov dword [edi + 4], eax
dec ebx
jne 0x4937d0
jmp 0x4935fa
mov ecx, edi
push 1
push edx
push esi
call fcn.0046e2c0
mov eax, dword [edi + 4]
jmp 0x4937e5
lea eax, [edi + 0xc]
mov ecx, edi
push 1
push edx
push eax
call fcn.0046e2c0
mov eax, dword [edi + 4]
jmp 0x493412
lea edx, [edi + 0xc]
mov ecx, edi
push 1
push eax
push edx
call fcn.0046e2c0
mov ecx, dword [edi + 4]
jmp 0x49342c
lea eax, [edi + 0xc]
mov ecx, edi
push 1
push edx
push eax
call fcn.0046e2c0
mov eax, dword [edi + 4]
jmp 0x4934d3
lea edx, [edi + 0xc]
mov ecx, edi
push 1
push eax
push edx
call fcn.0046e2c0
mov ecx, dword [edi + 4]
jmp 0x4934f7
lea eax, [esi + 0xc]
mov ecx, esi
push 1
push edx
push eax
call fcn.0046e2c0
mov eax, dword [esi + 4]
jmp 0x4929fd
lea ecx, [esp + 0x70]
push 1
push edx
lea eax, [esp + 0x84]
push eax
call fcn.0046e2c0
mov eax, dword [esp + 0x74]
jmp 0x49318e
lea eax, [esi + 0xc]
mov ecx, esi
push 1
push edx
push eax
call fcn.0046e2c0
mov eax, dword [esi + 4]
jmp 0x4929db
lea eax, [esi + 0xc]
mov ecx, esi
push 1
push edx
push eax
call fcn.0046e2c0
mov eax, dword [esi + 4]
jmp 0x492a22
lea eax, [edi + 0xc]
mov ecx, edi
push 1
push edx
push eax
call fcn.0046e2c0
mov eax, dword [edi + 4]
jmp 0x49345b
lea ecx, [esp + 0x28]
push 1
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.0046e2c0
mov esi, dword [esp + 0x2c]
jmp 0x49358e
xor edi, edi
jmp 0x492c35
xor eax, eax
jmp 0x492efe
lea ecx, [esp + 0x70]
push 1
push 1
lea eax, [esp + 0x84]
push eax
call fcn.0046e2c0
mov eax, dword [esp + 0x74]
jmp 0x4932fa
lea eax, [edi + 0xc]
mov ecx, edi
push 1
push edx
push eax
call fcn.0046e2c0
mov eax, dword [edi + 4]
test esi, esi
jne 0x4934a5
jmp 0x4934b6
xor eax, eax
jmp 0x492d0f
lea eax, [esi + 0xc]
mov ecx, esi
push 1
push edx
push eax
call fcn.0046e2c0
mov eax, dword [esi + 4]
jmp 0x492d87