Function at 0x100033f0
Capabilities:
Link many functions at runtime
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x9c
mov eax, dword [0x1001d018]
xor eax, esp
mov dword [esp + 0x98], eax
push ebx
push esi
mov esi, dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
push edi
push 0x14
call esi
xor edi, edi
add esp, 4
cmp eax, edi
je 0x10003431
mov dword [eax], vtable.cAddyEngine.0
mov dword [eax + 4], edi
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
jmp 0x10003433
xor eax, eax
push 0x258
mov dword [0x10022d38], eax
call esi
push 4
mov dword [0x10022ce0], eax
call esi
add esp, 8
cmp eax, edi
je 0x1000345c
mov dword [eax], vtable.EncryptMemory.0
mov dword [0x10020210], eax
jmp 0x10003462
mov dword [0x10020210], edi
mov eax, dword [0x10022ce0]
push 0x258
push edi
push eax
call sub.MSVCR100.dll_memset
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
add esp, 0xc
mov bl, 0x6c
jmp 0x10003490
lea ecx, [esp + 0x18]
push ecx
mov dword [esp + 0x1c], 0x3163666d
mov dword [esp + 0x20], 0x642e3034
mov byte [esp + 0x24], bl
mov byte [esp + 0x25], bl
mov byte [esp + 0x26], 0
call esi
test eax, eax
sete cl
xor eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov word [esp + 0x20], ax
mov byte [esp + 0x22], al
test cl, cl
je 0x100034e0
push 0x64
call edi
jmp 0x10003490
lea edx, [esp + 0x18]
push edx
mov dword [esp + 0x1c], 0x3163666d
mov dword [esp + 0x20], 0x642e3034
mov byte [esp + 0x24], bl
mov byte [esp + 0x25], bl
mov byte [esp + 0x26], 0
call esi
cmp dword [eax + 0x29f8c0], 0
sete cl
xor eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov word [esp + 0x20], ax
mov byte [esp + 0x22], al
test cl, cl
je 0x10003530
push 0x64
call edi
jmp 0x100034e0
lea eax, [esp + 0x18]
push eax
mov dword [esp + 0x1c], 0x3163666d
mov dword [esp + 0x20], 0x642e3034
mov byte [esp + 0x24], bl
mov byte [esp + 0x25], bl
mov byte [esp + 0x26], 0
call esi
mov ecx, dword [eax + 0x29f8c0]
cmp dword [ecx + 0xc], 0
sete cl
xor eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov word [esp + 0x20], ax
mov byte [esp + 0x22], al
test cl, cl
je 0x1000357e
push 0x64
call edi
jmp 0x10003530
mov ecx, 0x100195dc
sub ecx, 0x5114be4b
lea eax, [esp + 0x18]
call fcn.10014fb0
push eax
call esi
mov edx, dword [eax + 0x29f8c0]
mov ebx, dword [edx + 0xc]
xor eax, eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov word [esp + 0x20], ax
mov byte [esp + 0x22], al
mov dword [0x10020c88], ebx
test ebx, ebx
jne 0x100035c3
xor edi, edi
jmp 0x100035da
mov eax, dword [ebx + 0x3c]
add eax, ebx
jne 0x100035ce
xor edi, edi
jmp 0x100035da
add eax, 0x18
jne 0x100035d7
xor edi, edi
jmp 0x100035da
mov edi, dword [eax + 0x38]
mov dword [0x1001ed74], edi
mov ecx, 0x71
xor eax, eax
mov dl, byte [eax + str.0CSKJVHGYEDBA_]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [esp + eax + 0x28], dl
jns 0x10003604
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x20
jl 0x100035e7
lea eax, [esp + 0x28]
push eax
mov eax, edi
mov ecx, ebx
mov byte [esp + 0x4c], 0
call fcn.10002960
add esp, 4
test eax, eax
je 0x10003629
mov eax, dword [eax + 1]
jmp 0x1000362b
xor eax, eax
mov esi, dword [0x10022ce0]
mov dword [esi], eax
mov ecx, 0x6e
xor eax, eax
lea ebx, [ebx]
mov dl, byte [eax + str.V_PEGSDMVDKY9BNF]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [esp + eax + 0x28], dl
jns 0x1000365d
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x11
jl 0x10003640
lea eax, [esp + 0x28]
push eax
mov eax, edi
mov ecx, ebx
mov byte [esp + 0x3d], 0
call fcn.10002960
add esp, 4
mov dword [esp + 0x14], eax
mov ecx, 0x34
xor eax, eax
mov dl, byte [eax + 0x10019620]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [esp + eax + 0x28], dl
jns 0x100036a1
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x41
jl 0x10003684
lea eax, [esp + 0x28]
push eax
mov eax, edi
mov ecx, ebx
mov byte [esp + 0x6d], 0
call fcn.10002960
add esp, 4
mov dword [esi + 0x74], 0
test eax, eax
je 0x100036cd
mov ecx, dword [eax + 0xd]
jmp 0x100036cf
xor ecx, ecx
mov dword [esi + 0x78], ecx
test eax, eax
je 0x100036db
mov ecx, dword [eax + 2]
jmp 0x100036dd
xor ecx, ecx
mov dword [esi + 0x7c], ecx
test eax, eax
je 0x100036e9
mov eax, dword [eax + 8]
jmp 0x100036eb
xor eax, eax
mov dword [esi + 0x80], eax
mov ecx, 0x83
xor eax, eax
jmp 0x10003700
mov dl, byte [eax + 0x10019668]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [esp + eax + 0x28], dl
jns 0x1000371d
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x4a
jl 0x10003700
lea eax, [esp + 0x28]
push eax
mov eax, edi
mov ecx, ebx
mov byte [esp + 0x76], 0
call fcn.10002960
add esp, 4
test eax, eax
je 0x10003742
mov eax, dword [eax + 2]
jmp 0x10003744
xor eax, eax
mov dword [esi + 0x1c], eax
mov dword [esi + 0x34], 0
mov ecx, 0xfe
xor eax, eax
mov dl, byte [eax + str._1F_:87_54_21___2P5__8____]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [esp + eax + 0x28], dl
jns 0x10003772
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x3b
jl 0x10003755
lea eax, [esp + 0x28]
push eax
mov eax, edi
mov ecx, ebx
mov byte [esp + 0x67], 0
call fcn.10002960
add esp, 4
test eax, eax
je 0x10003797
mov ecx, dword [eax + 2]
jmp 0x10003799
xor ecx, ecx
mov dword [esi + 0x38], ecx
test eax, eax
je 0x100037a5
mov eax, dword [eax + 8]
jmp 0x100037a7
xor eax, eax
mov dword [esi + 0x3c], eax
mov dword [esi + 0x44], 0
mov ecx, 8
xor eax, eax
jmp 0x100037c0
mov dl, byte [eax + str.8O94_M70_T3_6S_9____]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [esp + eax + 0x28], dl
jns 0x100037dd
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x2f
jl 0x100037c0
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x28]
push eax
mov eax, edi
mov byte [esp + 0x5b], 0
call fcn.10002960
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x10003806
mov eax, dword [ebx + 0xb]
jmp 0x10003808
xor eax, eax
mov dword [esi + 0x48], eax
test ebx, ebx
je 0x10003814
mov eax, dword [ebx + 0x10]
jmp 0x10003816
xor eax, eax
mov dword [esi + 0x4c], eax
mov dword [esi + 0x20], 0
mov ecx, 0xc8
xor eax, eax
mov dl, byte [eax + 0x10019720]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [esp + eax + 0x28], dl
jns 0x10003844
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x3e
jl 0x10003827
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x28]
push eax
mov eax, edi
mov byte [esp + 0x6a], 0
call fcn.10002960
add esp, 4
test eax, eax
je 0x1000386b
mov ecx, dword [eax + 8]
jmp 0x1000386d
xor ecx, ecx
mov dword [esi + 0x24], ecx
test eax, eax
je 0x10003879
mov eax, dword [eax + 2]
jmp 0x1000387b
xor eax, eax
mov dword [esi + 0x28], eax
mov dword [esi + 8], 0
mov ecx, 0xe7
xor eax, eax
lea esp, [esp]
mov dl, byte [eax + 0x10019760]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [esp + eax + 0x28], dl
jns 0x100038ad
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x5c
jl 0x10003890
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x28]
push eax
mov eax, edi
mov byte [esp + 0x88], 0
call fcn.10002960
add esp, 4
test eax, eax
je 0x100038d7
mov ecx, dword [eax + 0x1a]
jmp 0x100038d9
xor ecx, ecx
mov dword [esi + 0xc], ecx
test eax, eax
je 0x100038e5
mov ecx, dword [eax + 0xb]
jmp 0x100038e7
xor ecx, ecx
mov dword [esi + 0x10], ecx
test eax, eax
je 0x100038f3
mov eax, dword [eax + 0x11]
jmp 0x100038f5
xor eax, eax
mov dword [esi + 0x14], eax
mov ecx, 0x75
xor eax, eax
nop
mov dl, byte [eax + str.M4WHZDC_A_]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [esp + eax + 0x28], dl
jns 0x1000391d
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x2f
jl 0x10003900
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x28]
push eax
mov eax, edi
mov byte [esp + 0x5b], 0
call fcn.10002960
add esp, 4
test eax, eax
je 0x10003944
mov eax, dword [eax + 2]
jmp 0x10003946
xor eax, eax
mov dword [esi + 0x58], eax
mov ecx, 0x7c
xor eax, eax
mov dl, byte [eax + str.D_G]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [esp + eax + 0x28], dl
jns 0x1000396d
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x32
jl 0x10003950
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x28]
push eax
mov eax, edi
mov byte [esp + 0x5e], 0
call fcn.10002960
add esp, 4
add eax, 6
je 0x10003995
mov eax, dword [eax + 1]
jmp 0x10003997
xor eax, eax
mov dword [esi + 4], eax
mov ecx, 1
xor eax, eax
mov dl, byte [eax + str.664CF9_54_21__.2_5._8._____]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [esp + eax + 0x28], dl
jns 0x100039be
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x20
jl 0x100039a1
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x28]
push eax
mov eax, edi
mov byte [esp + 0x4c], 0
call fcn.10002960
add esp, 4
test eax, eax
je 0x100039e5
mov eax, dword [eax + 3]
jmp 0x100039e7
xor eax, eax
mov dword [esi + 0x70], eax
xor eax, eax
mov dword [esi + 0x5c], eax
mov ecx, 0xe5
mov dl, byte [eax + 0x10019848]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [esp + eax + 0x28], dl
jns 0x10003a11
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x3e
jl 0x100039f4
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x28]
push eax
mov eax, edi
mov byte [esp + 0x6a], 0
call fcn.10002960
add esp, 4
test eax, eax
je 0x10003a38
mov ecx, dword [eax + 0xe]
jmp 0x10003a3a
xor ecx, ecx
mov dword [esi + 0x60], ecx
test eax, eax
je 0x10003a46
mov ecx, dword [eax + 2]
jmp 0x10003a48
xor ecx, ecx
mov dword [esi + 0x64], ecx
test eax, eax
je 0x10003a54
mov eax, dword [eax + 8]
jmp 0x10003a56
xor eax, eax
mov dword [esi + 0x68], eax
mov ecx, 0x8e
xor eax, eax
mov dl, byte [eax + 0x10019888]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [esp + eax + 0x28], dl
jns 0x10003a7d
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x1d
jl 0x10003a60
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x28]
push eax
mov eax, edi
mov byte [esp + 0x49], 0
call fcn.10002960
sub eax, 0x106
add esp, 4
mov dword [0x10020008], eax
mov ecx, 0xf9
xor eax, eax
lea esp, [esp]
mov dl, byte [eax + 0x100198a8]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [esp + eax + 0x28], dl
jns 0x10003acd
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x26
jl 0x10003ab0
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x28]
push eax
mov eax, edi
mov byte [esp + 0x52], 0
call fcn.10002960
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
je 0x10003afc
mov ecx, dword [eax + 1]
lea eax, [ecx + eax + 5]
jmp 0x10003afe
xor eax, eax
mov dword [esi + 0x11c], eax
mov ecx, 0x7d
xor eax, eax
jmp 0x10003b10
mov dl, byte [eax + 0x100198d0]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [esp + eax + 0x28], dl
jns 0x10003b2d
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x77
jl 0x10003b10
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x28]
push eax
mov eax, edi
mov byte [esp + 0xa3], 0
call fcn.10002960
add eax, 3
add esp, 4
mov dword [esi + 0x144], eax
mov ecx, 0x2f
xor eax, eax
mov edi, edi
mov dl, byte [eax + 0x10019948]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [esp + eax + 0x28], dl
jns 0x10003b7d
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x71
jl 0x10003b60
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x28]
push eax
mov eax, edi
mov byte [esp + 0x9d], 0
call fcn.10002960
add eax, 3
mov dword [esi + 0x148], eax
mov eax, dword [esp + 0x18]
mov ecx, 0xfffffffa
add esp, 4
sub ecx, eax
inc eax
cmp byte [eax], 0x8b
jne 0x10003bd4
cmp byte [eax + 1], 0xd
jne 0x10003bd4
cmp byte [eax + 6], 3
jne 0x10003bd4
cmp byte [eax + 7], 0xd
jne 0x10003bd4
cmp byte [eax + 0xc], 0xe8
je 0x10003c8e
lea edx, [ecx + eax + 6]
cmp edx, 0x3b
jne 0x10003bb2
xor eax, eax
mov dword [esi + 0x150], eax
mov ecx, 0xbb
xor eax, eax
lea esp, [esp]
mov dl, byte [eax + 0x100199c0]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [esp + eax + 0x28], dl
jns 0x10003c0d
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x68
jl 0x10003bf0
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x28]
push eax
mov eax, edi
mov byte [esp + 0x94], 0
call fcn.10002960
add esp, 4
mov dword [esi + 0x110], eax
xor eax, eax
mov dword [esi + 0xfc], eax
mov ecx, 0x28
mov dl, byte [eax + 0x10019a2c]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [esp + eax + 0x28], dl
jns 0x10003c5e
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x26
jl 0x10003c41
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x28]
push eax
mov eax, edi
mov byte [esp + 0x52], 0
call fcn.10002960
add esp, 4
lea esp, [esp]
cmp byte [eax], 0x68
jne 0x10003c8b
cmp byte [eax + 5], 0xb8
je 0x10003c9a
dec eax
jmp 0x10003c80
mov ecx, dword [eax + 0xd]
lea eax, [ecx + eax + 0x11]
jmp 0x10003bdf
mov dword [esi + 0x100], eax
mov ecx, 0x90
xor eax, eax
mov dl, byte [eax + 0x10019a54]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [esp + eax + 0x28], dl
jns 0x10003cc4
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x29
jl 0x10003ca7
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x28]
push eax
mov eax, edi
mov byte [esp + 0x55], 0
call fcn.10002960
add esp, 4
test eax, eax
je 0x10003cef
mov ecx, dword [eax + 4]
lea eax, [ecx + eax + 8]
jmp 0x10003cf1
xor eax, eax
mov dword [0x1001fd54], eax
mov eax, ebx
call fcn.10002b90
mov dword [0x10021a1c], eax
mov ecx, 0xc6
xor eax, eax
lea esp, [esp]
mov dl, byte [eax + 0x10019a80]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [esp + eax + 0x28], dl
jns 0x10003d2d
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x41
jl 0x10003d10
mov ebx, dword [esp + 0x10]
lea eax, [esp + 0x28]
push eax
mov eax, edi
mov ecx, ebx
mov byte [esp + 0x6d], 0
call fcn.10002960
add esp, 4
call fcn.10002b10
mov dword [0x1001ef5c], eax
mov ecx, 0x4b
xor eax, eax
mov edi, edi
mov dl, byte [eax + str._bmpnmsa_vo:y_8h:]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [esp + eax + 0x28], dl
jns 0x10003d7d
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x4d
jl 0x10003d60
lea eax, [esp + 0x28]
push eax
mov eax, edi
mov ecx, ebx
mov byte [esp + 0x79], 0
call fcn.10002960
add eax, 0x11
add esp, 4
mov dword [0x10020420], eax
mov ecx, 0x81
xor eax, eax
jmp 0x10003db0
mov dl, byte [eax + 0x10019b18]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [esp + eax + 0x28], dl
jns 0x10003dcd
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x23
jl 0x10003db0
lea eax, [esp + 0x28]
push eax
mov eax, edi
mov ecx, ebx
mov byte [esp + 0x4f], 0
call fcn.10002960
add esp, 4
mov dword [esi + 0xd4], eax
mov ecx, 0xc6
xor eax, eax
mov dl, byte [eax + 0x10019b3c]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [esp + eax + 0x28], dl
jns 0x10003e13
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x2f
jl 0x10003df6
lea eax, [esp + 0x28]
push eax
mov eax, edi
mov ecx, ebx
mov byte [esp + 0x5b], 0
call fcn.10002960
add esp, 4
add eax, 0xb
je 0x10003e3d
mov ecx, dword [eax + 1]
lea eax, [ecx + eax + 5]
jmp 0x10003e3f
xor eax, eax
mov dword [0x100227a4], eax
mov ecx, 0xf3
xor eax, eax
jmp 0x10003e50
mov dl, byte [eax + 0x10019b6c]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [esp + eax + 0x28], dl
jns 0x10003e6d
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x23
jl 0x10003e50
lea eax, [esp + 0x28]
push eax
mov eax, edi
mov ecx, ebx
mov byte [esp + 0x4f], 0
call fcn.10002960
add esp, 4
lea esp, [esp]
dec eax
cmp byte [eax], 0x68
jne 0x10003e90
cmp byte [eax + 5], 0xb8
jne 0x10003e90
mov dword [0x10020db4], eax
mov ecx, 0x35
xor eax, eax
jmp 0x10003eb0
mov dl, byte [eax + 0x10019b90]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [esp + eax + 0x28], dl
jns 0x10003ecd
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x23
jl 0x10003eb0
lea eax, [esp + 0x28]
push eax
mov eax, edi
mov ecx, ebx
mov byte [esp + 0x4f], 0
call fcn.10002960
push str.x_____x_x____xx__x_____xx
push 0x10019bd0
add eax, 0x76
push edi
push ebx
mov dword [0x10022ca0], eax
call fcn.10002710
add esp, 0x14
test eax, eax
je 0x10003f0f
mov ecx, dword [eax + 9]
lea eax, [ecx + eax + 0xd]
jmp 0x10003f11
xor eax, eax
mov dword [0x10021ce4], eax
mov ecx, 0x39
xor eax, eax
lea ecx, [ecx]
mov dl, byte [eax + str.zZQXW_3]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [esp + eax + 0x28], dl
jns 0x10003f3d
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x23
jl 0x10003f20
push str.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
lea eax, [esp + 0x2c]
push eax
push edi
mov eax, ebx
mov byte [esp + 0x57], 0
call fcn.10002a50
add esp, 0xc
test eax, eax
je 0x10003f7a
xor ecx, ecx
test edi, edi
je 0x10003f71
cmp dword [ecx + ebx], eax
je 0x10003fd7
inc ecx
cmp ecx, edi
jb 0x10003f67
xor ecx, ecx
lea eax, [ecx - 1]
test eax, eax
jne 0x10003f80
xor eax, eax
lea esp, [esp]
dec eax
cmp byte [eax], 0x8d
jne 0x10003f80
cmp byte [eax + 3], 0x8b
jne 0x10003f98
cmp byte [eax + 4], 0xce
jne 0x10003f98
cmp byte [eax + 5], 0xe8
je 0x10003fdb
cmp byte [eax + 6], 0x8b
jne 0x10003f80
cmp byte [eax + 7], 0xce
jne 0x10003f80
cmp byte [eax + 8], 0xe8
jne 0x10003f80
mov edx, dword [eax + 9]
lea eax, [edx + eax + 0xd]
push str.x_x_____xx____x____xxx____x____
push 0x10019c54
push edi
push ebx
mov dword [0x100210f8], eax
call fcn.10002710
add esp, 0x10
test eax, eax
je 0x10003fe4
mov ecx, dword [eax + 0xf]
lea eax, [ecx + eax + 0x13]
jmp 0x10003fe6
add ecx, ebx
jmp 0x10003f73
mov ecx, dword [eax + 6]
lea eax, [ecx + eax + 0xa]
jmp 0x10003fb1
xor eax, eax
mov dword [esi + 0x8c], eax
mov ecx, 0x20
xor eax, eax
mov dl, byte [eax + 0x10019c78]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [esp + eax + 0x28], dl
jns 0x10004010
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x5c
jl 0x10003ff3
lea eax, [esp + 0x28]
push eax
mov eax, edi
mov ecx, ebx
mov byte [esp + 0x88], 0
call fcn.10002960
add esp, 4
add eax, 0xc
je 0x1000403d
mov ecx, dword [eax + 1]
lea eax, [ecx + eax + 5]
jmp 0x1000403f
xor eax, eax
mov dword [esi + 0x90], eax
mov ecx, 0x9d
xor eax, eax
lea esp, [esp]
mov dl, byte [eax + 0x10019cd8]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [esp + eax + 0x28], dl
jns 0x1000406d
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x29
jl 0x10004050
lea eax, [esp + 0x28]
push eax
mov eax, edi
mov ecx, ebx
mov byte [esp + 0x55], 0
call fcn.10002960
add esp, 4
xor edx, edx
add eax, 9
je 0x10004099
mov ecx, dword [eax + 1]
lea eax, [ecx + eax + 5]
jmp 0x1000409b
xor eax, eax
mov dword [esi + 0x88], eax
mov eax, 0xd
mov dword [esi + 0xf4], edx
mov dword [0x1001fb2c], eax
mov dword [esi + 0xdc], edx
mov dword [0x10021ef4], eax
mov dword [esi + 0xf8], edx
mov dword [0x1001ef2c], 6
mov ecx, 0xaf
xor eax, eax
mov dl, byte [eax + 0x10019d34]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [esp + eax + 0x28], dl
jns 0x100040f0
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x2c
jl 0x100040d3
push str.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
lea eax, [esp + 0x2c]
push eax
push edi
mov eax, ebx
mov byte [esp + 0x60], 0
call fcn.10002a50
add esp, 0xc
test eax, eax
je 0x10004137
xor ecx, ecx
test edi, edi
je 0x1000412e
lea ebx, [ebx]
cmp dword [ecx + ebx], eax
je 0x10004292
inc ecx
cmp ecx, edi
jb 0x10004120
xor ecx, ecx
lea eax, [ecx - 1]
test eax, eax
jne 0x10004140
xor eax, eax
lea esp, [esp]
dec eax
cmp byte [eax], 0x6a
jne 0x10004140
cmp byte [eax + 1], 0x10
jne 0x10004140
cmp byte [eax + 2], 0x68
jne 0x10004140
cmp byte [eax + 7], 0xb8
jne 0x10004140
mov dword [esi + 0x114], eax
xor ecx, ecx
xor eax, eax
mov dl, byte [eax + str.54__F_CD_1H88._S1Q4Q7__:___]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [esp + eax + 0x28], dl
jns 0x1000417f
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x20
jl 0x10004162
lea eax, [esp + 0x28]
push eax
mov eax, edi
mov ecx, ebx
mov byte [esp + 0x4c], 0
call fcn.10002960
add esp, 4
mov dword [esi + 0x118], eax
mov ecx, 0xcc
xor eax, eax
jmp 0x100041b0
mov dl, byte [eax + 0x10019d88]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [esp + eax + 0x28], dl
jns 0x100041cd
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x29
jl 0x100041b0
lea eax, [esp + 0x28]
push eax
mov eax, edi
mov ecx, ebx
mov byte [esp + 0x55], 0
call fcn.10002960
add eax, 5
add esp, 4
mov dword [esi + 0x108], eax
mov ecx, 0x83
xor eax, eax
lea esp, [esp]
mov dl, byte [eax + 0x10019db4]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [esp + eax + 0x28], dl
jns 0x1000421d
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x26
jl 0x10004200
lea eax, [esp + 0x28]
push eax
mov eax, edi
mov ecx, ebx
mov byte [esp + 0x52], 0
call fcn.10002960
sub eax, 0x98
add esp, 4
mov dword [0x10022d5c], eax
mov ecx, 0xb7
xor eax, eax
lea ebx, [ebx]
mov dl, byte [eax + 0x10019ddc]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [esp + eax + 0x28], dl
jns 0x1000426d
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x2c
jl 0x10004250
lea eax, [esp + 0x28]
push eax
mov eax, edi
mov ecx, ebx
mov byte [esp + 0x58], 0
call fcn.10002960
add esp, 4
test eax, eax
je 0x10004299
mov eax, dword [eax + 2]
jmp 0x1000429b
add ecx, ebx
jmp 0x10004130
xor eax, eax
mov dword [0x10020fe4], eax
mov ecx, 0x62
xor eax, eax
mov dl, byte [eax + str.WVD__G_JS.MZZP_JSAEVO:YN_LJ_]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [esp + eax + 0x28], dl
jns 0x100042c4
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x71
jl 0x100042a7