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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x2a8
mov eax, dword [0x44f834]
xor eax, esp
mov dword [esp + 0x2a4], eax
lea eax, [esp + 0x1a4]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
lea eax, [esp + 0xa4]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x44]
mov eax, 0xcd47bc16
mov dword [esp], 0
cmp eax, 0xd0d86988
jg 0x40107b
jmp 0x401220
mov dword [esp + 0x88], edi
mov ecx, 0xd0d86989
mov eax, dword [esp + 0x88]
cmp eax, 0x64
mov eax, 0x10a78b1f
cmovl eax, ecx
nop dword [eax]
cmp eax, 0xd0d86988
jle 0x401220
cmp eax, 0x10a78b1e
jle 0x4010d0
cmp eax, 0x3d6052c7
jle 0x401418
cmp eax, 0x458d1364
jg 0x401458
cmp eax, 0x3d6052c8
je 0x401473
cmp eax, 0x3e42f8f6
jne 0x401070
mov eax, dword [esp + 0x14]
mov dword [esp + 0x74], esi
mov ecx, 0x1528f10a
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x70]
cmp eax, 0x100
mov eax, 0x91bcc3e0
jmp 0x401be9
cmp eax, 0xecf19bad
jg 0x4011d0
cmp eax, 0xd0d86989
je 0x401493
cmp eax, 0xe052d51c
je 0x4018c7
cmp eax, 0xe6265846
jne 0x401070
lea eax, [esp + 0x38]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x98]
mov eax, dword [eax]
cmp eax, dword [esp + 0x3c]
mov eax, 0xe2414c93
setne byte [esp + 0x94]
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp eax, 0xe2414c92
jg 0x401170
cmp eax, 0x94eb0ed6
je 0x401e51
cmp eax, 0x9d483421
jne 0x401130
mov eax, dword [esp + 0x98]
lea ecx, [esp + 0x34]
push dword [esp + 0x9c]
push dword [eax]
call fcn.00408c90
jmp 0x4011be
cmp eax, 0xf99cf40a
je 0x4011aa
cmp eax, 0xe2414c93
jne 0x401130
lea eax, [esp + 0x2c0]
mov ecx, 0xf99cf40a
mov dword [esp + 0x9c], eax
mov eax, 0x9d483421
cmp byte [esp + 0x94], 0
cmovne eax, ecx
cmp eax, 0xe2414c92
jle 0x401137
jmp 0x401170
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x38]
mov eax, dword [eax]
mov dword [ecx], eax
add dword [esp + 0x38], 4
mov eax, 0x94eb0ed6
cmp eax, 0xe2414c92
jle 0x401137
jmp 0x401170
cmp eax, 0xecf19bae
je 0x401670
cmp eax, 0xf4781eb6
je 0x4018dc
cmp eax, 0x174afd3
jne 0x401070
mov eax, 0x865c1345
mov dword [esp + 0x10], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
cmp eax, 0xd0d86988
jg 0x40107b
nop dword [eax]
cmp eax, 0xa4c1bf14
jg 0x401270
cmp eax, 0x91bcc3df
jg 0x4012d7
cmp eax, 0x865c1345
je 0x40168d
cmp eax, 0x88b46b3e
je 0x401929
cmp eax, 0x88cd63df
jne 0x401070
cmp dword [esp + 0x60], 0
mov eax, 0xe052d51c
mov ecx, 0xa13784f0
jmp 0x401c0e
cmp eax, 0xc7c9f7cd
jg 0x401306
cmp eax, 0xa4c1bf15
je 0x4016c8
cmp eax, 0xa7af3c8e
je 0x40193e
cmp eax, 0xb2c18df0
jne 0x401070
lea eax, [esp + 0x28]
xor edi, edi
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov eax, 0x62fcf03b
cmp eax, 0xd0d86988
jg 0x40107b
jmp 0x401220
cmp eax, 0x91bcc3e0
je 0x40180a
cmp eax, 0x9e4429da
je 0x401a96
cmp eax, 0xa13784f0
jne 0x401070
mov ecx, dword [esp + 0x60]
call fcn.00404170
jmp 0x401895
cmp eax, 0xc7c9f7ce
je 0x401843
cmp eax, 0xcd47bc16
je 0x401bcf
cmp eax, 0xcf0178de
jne 0x401070
lea eax, [esp + 0x1c]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
lea eax, [esp + 0x20]
mov dword [esp + 0x94], eax
lea eax, [esp + 0x24]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x90]
mov eax, dword [eax]
mov dword [esp + 0x9c], eax
mov eax, 0x3059c693
nop word cs:[eax + eax]
nop
cmp eax, 0x9ea8075c
je 0x4013a5
cmp eax, 0x574f659c
je 0x401e6f
cmp eax, 0x3059c693
jne 0x401370
cmp dword [esp + 0x9c], 0
mov eax, 0x9ea8075c
mov ecx, 0x574f659c
cmove eax, ecx
cmp eax, 0x9ea8075c
jne 0x401377
mov eax, dword [esp + 0x94]
mov eax, dword [esp + 0x8c]
mov eax, dword [esp + 0x9c]
mov eax, dword [esp + 0x98]
mov eax, dword [eax]
mov ecx, dword [esp + 0x90]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x8c]
sub eax, ecx
push eax
push ecx
call fcn.004078e0
add esp, 8
mov eax, dword [esp + 0x90]
mov dword [eax], 0
mov eax, dword [esp + 0x94]
mov dword [eax], 0
mov eax, dword [esp + 0x98]
mov dword [eax], 0
mov eax, 0x574f659c
cmp eax, 0x9ea8075c
jne 0x401377
jmp 0x4013a5
cmp eax, 0x10a78b1f
je 0x401c21
cmp eax, 0x1528f10a
je 0x401ea4
cmp eax, 0x36722269
jne 0x401070
mov eax, 0x3e42f8f6
mov dword [esp + 0x14], 0
xor esi, esi
cmp eax, 0xd0d86988
jg 0x40107b
jmp 0x401220
cmp eax, 0x62fcf03b
je 0x40104e
cmp eax, 0x458d1365
jne 0x401070
jmp 0x401f09
mov eax, dword [esp + 0xc]
mov ecx, 0xe6265846
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x78]
cmp eax, 0x3e9
mov eax, 0x88b46b3e
jmp 0x401be9
mov eax, dword [esp + 0x54]
mov edi, eax
mov ecx, eax
and eax, 0xd4162070
not edi
or ecx, 0x7ae17252
mov ebx, edi
mov edx, ecx
and ecx, 0xed0fd95b
and ebx, 0x2be9df8f
not edx
or eax, ebx
and edx, 0x1004a4
xor eax, 0x7ebe1459
or edx, ecx
or eax, edi
or edi, 0x851e8dad
mov ebx, edi
and edi, 0xed0fd95b
not ebx
and ebx, 0x12e02200
or ebx, edi
xor ebx, edx
mov ecx, ebx
and ebx, 0x76407d6b
not ecx
and ecx, 0x89bf8294
or ebx, ecx
mov ecx, ebx
xor ebx, 0xc200b28
xor ecx, 0x810e7000
and ebx, 0x7e708bee
and ecx, 0x818f7411
or ecx, ebx
mov edx, ecx
xor ecx, 0x34000a2e
xor edx, 0x818f7411
and ecx, 0xb5073a3f
mov edi, edx
and edx, 0x5557cbd6
and edi, 0x4af8c5c0
or edi, ecx
xor edi, 0xe050f1e9
or edx, edi
mov edi, eax
mov ecx, edx
not edi
and edx, 0xcc92055d
not ecx
and edi, 0x336dfaa2
mov ebx, ecx
xor ebx, eax
and eax, 0xcc92055d
and ebx, ecx
and ecx, 0x336dfaa2
or edi, eax
or ecx, edx
mov eax, ebx
xor edi, ecx
and eax, edi
xor edi, ebx
or edi, eax
mov eax, edi
mov ecx, edi
and edi, 0x1a0aaf0
not eax
and ecx, 0xf41f4101
and eax, 0xa40140e
or ecx, eax
xor ecx, 0xf41f4101
or edi, ecx
mov eax, edi
and edi, 0xab089edc
not eax
and eax, 0x54f76123
or edi, eax
lea eax, [esp + 0x2c]
mov dword [esp + 0x94], edi
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x98]
mov eax, dword [eax]
cmp eax, dword [esp + 0x30]
mov eax, 0xdf5709d2
setne byte [esp + 0x90]
cmp eax, 0xda3a7d45
jg 0x401610
cmp eax, 0x8eb6d14a
je 0x4018aa
cmp eax, 0xb36a9758
jne 0x4015d0
mov eax, dword [esp + 0x98]
lea ecx, [esp + 0x28]
push dword [esp + 0x9c]
push dword [eax]
call fcn.0040a1b0
jmp 0x40165e
cmp eax, 0xda3a7d46
je 0x40164a
cmp eax, 0xdf5709d2
jne 0x4015d0
lea eax, [esp + 0x94]
mov ecx, 0xda3a7d46
mov dword [esp + 0x9c], eax
mov eax, 0xb36a9758
cmp byte [esp + 0x90], 0
cmovne eax, ecx
cmp eax, 0xda3a7d45
jle 0x4015d7
jmp 0x401610
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x2c]
mov eax, dword [eax]
mov dword [ecx], eax
add dword [esp + 0x2c], 4
mov eax, 0x8eb6d14a
cmp eax, 0xda3a7d45
jle 0x4015d7
jmp 0x401610
mov eax, 0x3d6052c8
mov dword [esp + 0xc], 0
cmp eax, 0xd0d86988
jg 0x40107b
jmp 0x401220
mov eax, dword [esp + 0x10]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x84]
cmp ecx, dword [eax + 4]
mov eax, 0x458d1365
mov ecx, 0xa4c1bf15
jmp 0x401be9
mov eax, dword [esp + 0x7c]
lea ecx, [eax + 1]
sar ecx, 0x1f
shr ecx, 0x18
lea ecx, [eax + ecx + 1]
and ecx, 0xffffff00
neg ecx
lea eax, [eax + ecx + 1]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x4c]
movzx eax, byte [esp + ecx + 0x1a4]
mov edx, dword [esp + 0x80]
add edx, eax
mov ebx, edx
sar ebx, 0x1f
shr ebx, 0x18
add ebx, edx
and ebx, 0xffffff00
sub edx, ebx
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x50]
mov bl, byte [esp + edx + 0x1a4]
mov byte [esp + ecx + 0x1a4], bl
mov byte [esp + edx + 0x1a4], al
movzx ecx, byte [esp + ecx + 0x1a4]
add ecx, eax
mov edx, ecx
mov eax, ecx
xor edx, 0x184
or eax, 0x57ca907b
and edx, ecx
mov ecx, eax
mov ebp, eax
mov ebx, edx
not ecx
and ebp, 0x570a9098
and edx, 0x167
not ebx
and ecx, 0xa8042904
or eax, ebx
and ebx, 0x573bd698
or ecx, ebp
or edx, ebx
not eax
xor edx, ecx
or eax, edx
mov ecx, eax
and eax, 0xa8356f84
not ecx
and ecx, 0x57ca907b
or eax, ecx
mov ecx, eax
mov edx, eax
and eax, 0x11518f43
not ecx
and edx, 0xffffff00
and ecx, 0xeeae70bc
or eax, ecx
mov ecx, edx
xor eax, 0x11518fbc
and ecx, eax
xor eax, edx
or eax, ecx
mov ecx, eax
mov edx, eax
and eax, 0xc5e4583
not ecx
and edx, 0xe181283c
and ecx, 0x12209240
or edx, ecx
xor edx, 0xe181283c
or eax, edx
mov ecx, eax
and eax, 0x60296e0c
not ecx
and ecx, 0x9fd691f3
or eax, ecx
mov ecx, 0xb2c18df0
xor eax, 0x9388d470
mov dword [esp + 0x54], eax
mov eax, 0x9e4429da
cmp dword [esp + 0x54], 0
cmovg eax, ecx
cmp eax, 0xd0d86988
jg 0x40107b
jmp 0x401220
lea eax, [esp + 0x34]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov eax, 0xecf19bae
cmp eax, 0xd0d86988
jg 0x40107b
jmp 0x401220
mov eax, dword [esp + 0x60]
mov ecx, 0x470cb604
cmp ecx, 0xdf9e78d8
je 0x401889
cmp ecx, 0x470cb604
je 0x401870
cmp ecx, 0x67424844
jne 0x40184c
jmp 0x402018
cmp dword [eax + 4], 0
mov ecx, 0x67424844
mov edx, 0xdf9e78d8
cmove ecx, edx
cmp ecx, 0xdf9e78d8
jne 0x401854
push dword [esp + 0x5c]
call fcn.0041edac
add esp, 4
mov eax, 0xcf0178de
cmp eax, 0xd0d86988
jg 0x40107b
jmp 0x401220
mov edi, dword [esp + 0x88]
mov eax, 0x62fcf03b
inc edi
cmp eax, 0xd0d86988
jg 0x40107b
jmp 0x401220
mov eax, 0xc7c9f7ce
cmp eax, 0xd0d86988
jg 0x40107b
jmp 0x401220
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x6c]
mov byte [esp + ecx + 0x1a4], al
mov eax, dword [esp + 0x6c]
cdq
idiv dword [esp + 0x2c8]
mov eax, dword [esp + 0x2c4]
mov al, byte [eax + edx]
mov ecx, dword [esp + 0x6c]
mov byte [esp + ecx + 0xa4], al
mov eax, dword [esp + 0x6c]
inc eax
mov dword [esp], eax
mov eax, 0xcd47bc16
cmp eax, 0xd0d86988
jg 0x40107b
jmp 0x401220
mov eax, 0x174afd3
cmp eax, 0xd0d86988
jg 0x40107b
jmp 0x401220
mov eax, dword [esp + 0x68]
mov dl, byte [eax]
mov ebp, dword [esp + 0x84]
mov dword [esp + 0x18], esi
mov esi, edi
mov edi, dword [esp + 0x2bc]
mov ch, byte [edi + ebp]
mov cl, ch
mov bh, ch
not cl
xor bh, 0x34
mov dh, cl
and bh, ch
and ch, 0x35
and dh, 0x34
mov al, bh
and bh, 0x76
mov bl, dh
not al
or dh, 0x89
not bl
or bl, al
and al, 0x89
or bh, al
not bl
xor dh, bh
mov bh, dl
or bl, dh
not bh
mov dh, dl
mov eax, ebx
and bl, 0x34
mov ah, bh
not al
and al, 0xcb
or bl, al
mov al, dl
and dl, bh
and ah, dl
xor dl, bh
and al, 0xce
and bh, 0x31
or dh, bl
or bh, al
mov al, bl
and bl, 0xce
not dh
or dl, ah
mov ah, cl
not al
and ah, 0xca
and al, 0x31
or ch, ah
or al, bl
xor al, bh
or dh, al
mov al, dh
and dh, 0x94
not al
and al, 0x6b
or dh, al
mov eax, edx
and dl, 0xce
not al
mov bl, dh
mov bh, dh
xor dh, 0x39
and al, 0x31
xor bl, 0x6b
xor bh, 0x10
or dl, al
and dh, bl
and bh, 0x52
mov eax, edx
and dl, 0xca
xor al, 4
and al, 0x35
or al, dl
xor al, ch
mov ch, dh
xor cl, al
and ch, bh
xor bh, dh
and cl, al
or bh, ch
mov eax, ecx
mov edx, ecx
xor al, 0xad
or dl, 0x52
and al, cl
mov ah, dl
mov dh, dl
not cl
mov ch, al
not ah
and dh, 0x1f
and al, 0xe0
not ch
and ah, 0xa0
or dl, ch
and ch, 0x1f
or ah, dh
or al, ch
not dl
xor al, ah
or dl, al
mov al, bh
not al
and al, dl
not dl
and dl, bh
or dl, al
mov eax, ebx
and al, cl
xor cl, bl
mov ah, dl
and dl, 3
or cl, al
not ah
mov al, cl
and cl, 0xeb
mov ch, ah
not al
and ch, 0xfc
and al, 0x14
or dl, ch
or cl, al
mov al, cl
xor cl, 0x14
not al
or ah, cl
and cl, 0xfc
and al, 3
not ah
or al, cl
xor al, dl
or ah, al
mov byte [edi + ebp], ah
mov edi, esi
mov esi, dword [esp + 0x18]
mov eax, 0x88cd63df
cmp eax, 0xd0d86988
jg 0x40107b
jmp 0x401220
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [eax], edx
mov dword [eax + 4], ecx
push 8
call fcn.0041ed7c
add esp, 4
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x60]
mov dword [eax], 0
mov dword [eax + 4], 0
push dword [esp + 0x60]
push str.__:__P
call fcn.00404110
add esp, 8
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x1a4]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x54]
add eax, ecx
mov dword [esp + 0x68], eax
lea eax, [esp + 0x20]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x98]
cmp dword [eax], 0
mov eax, 0x1035dd
setne byte [esp + 0x94]
nop word [eax + eax]
cmp eax, 0x39b6c702
jg 0x401b80
cmp eax, 0xe21a52bd
je 0x401bfc
cmp eax, 0x1035dd
jne 0x401b40
mov dword [esp + 0x9c], ebx
mov eax, 0x39b6c703
mov ecx, 0x7cdfe33f
cmp byte [esp + 0x94], 0
cmovne eax, ecx
cmp eax, 0x39b6c702
jle 0x401b47
nop dword [eax]
cmp eax, 0x39b6c703
je 0x401ba4
cmp eax, 0x7cdfe33f
jne 0x401b40
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x20]
movzx eax, byte [eax]
mov byte [ecx], al
inc dword [esp + 0x20]
jmp 0x401bbd
mov eax, dword [esp + 0x98]
lea ecx, [esp + 0x1c]
push dword [esp + 0x9c]
push dword [eax]
call fcn.0041e010
mov eax, 0xe21a52bd
cmp eax, 0x39b6c702
jle 0x401b47
jmp 0x401b80
mov eax, dword [esp]
mov ecx, 0xf4781eb6
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
cmp eax, 0x100
mov eax, 0x36722269
cmovl eax, ecx
cmp eax, 0xd0d86988
jg 0x40107b
jmp 0x401220
mov eax, dword [esp + 0x20]
mov ecx, 0x88cd63df
cmp eax, dword [esp + 0x1c]
mov eax, 0xa7af3c8e
cmove eax, ecx
cmp eax, 0xd0d86988
jg 0x40107b
jmp 0x401220
push str.IOS_BASE:
push 0x4512a8
call fcn.00402020
add esp, 8
mov edx, dword [esp + 0x4c]
mov ecx, eax
shl edx, 2
push edx
call fcn.004038e0
mov ebp, eax
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov eax, dword [ebp + eax + 0x30]
mov ecx, dword [eax + 4]
mov dword [esp + 0xa0], ecx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [esp + 0x9c]
push eax
call fcn.00415bc0
add esp, 4
mov edx, dword [eax]
mov ecx, eax
push 0xa
call dword [edx + 0x20]
mov ebx, eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x94], eax
mov eax, 0xc997da68
cmp eax, 0x1704c8c8
jg 0x401d20
jmp 0x401cc7
mov eax, dword [esp + 0x98]
mov eax, dword [eax]
mov eax, dword [eax]
mov ecx, dword [esp + 0x98]
push 1
call eax
mov eax, 0x7bad5e5f
nop word cs:[eax + eax]
nop dword [eax]
cmp eax, 0x1704c8c8
jg 0x401d20
cmp eax, 0xc997da68
je 0x401cf7
cmp eax, 0xf2fe5e01
jne 0x401cc0
mov ecx, dword [esp + 0x94]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [esp + 0x98], eax
mov eax, 0x1704c8c9
cmp dword [esp + 0x98], 0
jmp 0x401d04
cmp dword [esp + 0x94], 0
mov eax, 0xf2fe5e01
mov ecx, 0x7bad5e5f
cmove eax, ecx
cmp eax, 0x1704c8c8
jle 0x401cc7
nop word cs:[eax + eax]
nop dword [eax]
cmp eax, 0x1704c8c9
je 0x401c97
cmp eax, 0x7bad5e5f
jne 0x401cc0
movsx eax, bl
mov ecx, ebp
push eax
call fcn.0041d860
mov ecx, ebp
call fcn.0040b2e0
lea eax, [esp + 0x28]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
lea eax, [esp + 0x2c]
mov dword [esp + 0x94], eax
lea eax, [esp + 0x30]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x90]
mov eax, dword [eax]
mov dword [esp + 0x9c], eax
mov eax, 0xb74f5152
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp eax, 0x73305aae
je 0x401dc5
cmp eax, 0x3d9c5a1
je 0x401e38
cmp eax, 0xb74f5152
jne 0x401d90
cmp dword [esp + 0x9c], 0
mov eax, 0x73305aae
mov ecx, 0x3d9c5a1
cmove eax, ecx
cmp eax, 0x73305aae
jne 0x401d97
mov eax, dword [esp + 0x94]
mov eax, dword [esp + 0x8c]
mov eax, dword [esp + 0x9c]
mov eax, dword [esp + 0x98]
mov eax, dword [eax]
mov ecx, dword [esp + 0x90]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x8c]
sub eax, ecx
push eax
push ecx
call fcn.004078e0
add esp, 8
mov eax, dword [esp + 0x90]
mov dword [eax], 0
mov eax, dword [esp + 0x94]
mov dword [eax], 0
mov eax, dword [esp + 0x98]
mov dword [eax], 0
mov eax, 0x3d9c5a1
cmp eax, 0x73305aae
jne 0x401d97
jmp 0x401dc5
mov eax, dword [esp + 0x58]
mov eax, 0x9e4429da
cmp eax, 0xd0d86988
jg 0x40107b
jmp 0x401220
mov eax, dword [esp + 0x78]
inc eax
mov dword [esp + 0xc], eax
mov eax, 0x3d6052c8
cmp eax, 0xd0d86988
jg 0x40107b
jmp 0x401220
mov eax, dword [esp + 0x64]
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 8], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x10], eax
mov eax, 0x865c1345
mov ecx, dword [esp + 0x50]
mov dword [esp + 4], ecx
cmp eax, 0xd0d86988
jg 0x40107b
jmp 0x401220
mov ecx, dword [esp + 0x70]
movzx eax, byte [esp + ecx + 0x1a4]
mov edx, eax
add edx, dword [esp + 0x74]
mov esi, dword [esp + 0x70]
movzx esi, byte [esp + esi + 0xa4]
add esi, edx
mov edx, esi
sar edx, 0x1f
shr edx, 0x18
add edx, esi
and edx, 0xffffff00
sub esi, edx
mov dl, byte [esp + esi + 0x1a4]
mov byte [esp + ecx + 0x1a4], dl
mov byte [esp + esi + 0x1a4], al
mov eax, dword [esp + 0x70]
inc eax
mov dword [esp + 0x14], eax
mov eax, 0x3e42f8f6
cmp eax, 0xd0d86988
jg 0x40107b
jmp 0x401220
lea eax, [esp + 0x34]
mov esi, 0x3d9c5a1
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
lea eax, [esp + 0x38]
mov dword [esp + 0x94], eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x90]
mov eax, dword [eax]
mov dword [esp + 0x9c], eax
mov eax, 0xb74f5152
nop dword [eax + eax]
cmp eax, 0x73305aae
je 0x401f80
cmp eax, 0x3d9c5a1
je 0x401ff3
cmp eax, 0xb74f5152
jne 0x401f50
cmp dword [esp + 0x9c], 0
mov eax, 0x73305aae
cmove eax, esi
cmp eax, 0x73305aae
jne 0x401f57
mov eax, dword [esp + 0x94]
mov eax, dword [esp + 0x8c]
mov eax, dword [esp + 0x9c]
mov eax, dword [esp + 0x98]
mov eax, dword [eax]
mov ecx, dword [esp + 0x90]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x8c]
sub eax, ecx
push eax
push ecx
call fcn.004078e0
add esp, 8
mov eax, dword [esp + 0x90]
mov dword [eax], 0
mov eax, dword [esp + 0x94]
mov dword [eax], 0
mov eax, dword [esp + 0x98]
mov dword [eax], 0
mov eax, 0x3d9c5a1
cmp eax, 0x73305aae
jne 0x401f57
jmp 0x401f80
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x2a4]
xor ecx, esp
call fcn.0041ede8
add esp, 0x2a8
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.0042d60b
int3