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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4c21be
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x2f54
call fcn.004af5f0
mov eax, dword [0x4d8620]
xor eax, esp
mov dword [esp + 0x2f50], eax
push ebx
push esi
push edi
mov eax, dword [0x4d8620]
xor eax, esp
push eax
lea eax, [esp + 0x2f68]
mov dword fs:[0], eax
xor esi, esi
push 0x1200
mov dword [esp + 0x4c], 0xffffffff
mov dword [esp + 0x60], esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x20], esi
call fcn.004aee96
mov edi, eax
add esp, 4
mov dword [esp + 0x4c], edi
cmp edi, esi
jne 0x42d4a8
mov ecx, 0x513904
call fcn.004299a0
mov eax, 0x40
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x2f70], esi
lea ecx, [esp + 0x1c4]
call fcn.0046f930
mov byte [esp + 0x2f70], 1
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], esi
mov byte [esp + 0x2f70], 2
lea ecx, [esp + 0x11c]
call fcn.0046f930
mov byte [esp + 0x2f70], 3
mov dword [0x5161c0], edi
mov dword [0x514f80], 1
jmp 0x42d510
cmp byte [0x527e58], 0
jne 0x42e4e0
mov edi, dword [esp + 0x50]
mov esi, dword [esp + 0x54]
xor eax, eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], 1
mov eax, dword [esp + 0x3c]
cmp eax, 0x40
jl 0x42d54d
cmp byte [0x526b9c], 0
je 0x42d9e9
cmp eax, edi
jl 0x42d5a9
mov eax, dword [esp + 0x30]
cmp eax, esi
jbe 0x42d5a3
sub eax, edi
add edi, eax
mov dword [esp + 0x50], edi
cmp edi, esi
jbe 0x42d5a9
mov eax, esi
shr eax, 2
lea esi, [eax + esi + 0x20]
cmp edi, esi
jbe 0x42d574
mov esi, edi
mov edx, dword [esp + 0x4c]
lea ecx, [esi + esi*8]
add ecx, ecx
add ecx, ecx
add ecx, ecx
push ecx
push edx
call fcn.004aefee
add esp, 8
mov dword [esp + 0x4c], eax
test eax, eax
jne 0x42d59d
mov ecx, 0x513904
call fcn.004299a0
mov dword [esp + 0x54], esi
jmp 0x42d5a9
mov edi, eax
mov dword [esp + 0x50], edi
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x20]
push 4
add eax, ecx
push 0x514fb4
mov dword [0x5161c0], eax
call fcn.004365c0
test eax, eax
je 0x42d902
push 4
push 0x52622d
push 0x514fb4
call fcn.004b0a16
add esp, 0xc
test eax, eax
jne 0x42d90f
call fcn.0045a4b0
test eax, eax
jne 0x42d9be
movzx eax, byte [0x526261]
movzx ecx, word [0x526280]
push eax
push 0x526264
push 2
xor edx, edx
push ecx
mov word [0x526304], dx
call fcn.00436ae0
mov ebx, dword [esp + 0x14]
test eax, eax
je 0x42d635
cmp eax, ebx
jle 0x42d62c
mov ebx, eax
mov dword [esp + 0x14], ebx
cmp eax, 1
jg 0x42d9c4
movzx edx, word [0x526282]
push 0
push 0
push 3
push edx
call fcn.00436ae0
test eax, eax
je 0x42d65f
cmp eax, ebx
jle 0x42d656
mov ebx, eax
mov dword [esp + 0x14], ebx
cmp eax, 1
jg 0x42d9c4
movzx eax, word [0x526282]
mov ecx, dword [0x526220]
push 0
push eax
push ecx
call fcn.00459be0
movzx edx, word [0x526282]
mov eax, dword [0x526220]
push 0x526266
push edx
push eax
call fcn.00476f40
movzx ecx, word [0x526284]
push 0
push 0
push 0
push ecx
call fcn.00436ae0
test eax, eax
je 0x42d6b5
cmp eax, ebx
jle 0x42d6ac
mov dword [esp + 0x14], eax
cmp eax, 1
jg 0x42d9c4
mov eax, dword [0x526264]
movzx ecx, word [0x526282]
shr eax, 0xb
and al, 1
push 0x1800
mov byte [esp + 0x1f], al
mov eax, dword [0x526b04]
lea edx, [esp + 0x1760]
push edx
push eax
mov eax, dword [0x526220]
push ecx
call fcn.0042c9e0
test al, al
je 0x42d708
push 0x400
push 0x526304
lea edx, [esp + 0x1764]
push edx
call fcn.00477af0
mov byte [esp + 0x1b], 1
movzx ecx, word [0x526268]
movzx edx, word [0x52626a]
lea eax, [esp + 0xa8]
push eax
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_DosDateTimeToFileTime]
mov eax, dword [0x5161c0]
add eax, 0x28
push eax
lea ecx, [esp + 0xac]
push ecx
call dword [sym.imp.KERNEL32.dll_LocalFileTimeToFileTime]
mov ecx, dword [0x5161c0]
xor eax, eax
mov dword [ecx + 0x30], eax
add ecx, 0x30
mov dword [ecx + 4], eax
mov ecx, dword [0x5161c0]
add ecx, 0x38
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov eax, dword [0x5161c0]
lea edx, [eax + 0x38]
lea ecx, [eax + 0x30]
push edx
push ecx
mov ecx, dword [0x526220]
add eax, 0x28
push eax
movzx eax, word [0x526282]
call fcn.0042c8f0
movzx eax, word [0x526282]
mov ecx, dword [0x526220]
call fcn.0042caa0
mov bl, al
test bl, bl
je 0x42d7b4
push 0x526304
push 0x343
call fcn.00465ec0
push eax
push 0x5362aa
call fcn.00498be0
add esp, 0xc
lea ecx, [esp + 0x26c]
call fcn.00402160
mov byte [esp + 0x2f70], 4
push 0xce8
lea edx, [esp + 0x270]
push 0
push edx
call fcn.004af620
add esp, 0xc
push 0x400
push 0x526304
lea eax, [esp + 0x6a4]
push eax
call fcn.0046f260
push 0x400
lea ecx, [esp + 0x2a0]
push ecx
lea edx, [esp + 0x6a4]
push edx
call fcn.00455a50
mov eax, dword [0x5161c0]
add eax, 0x28
push eax
lea ecx, [esp + 0xeb4]
call fcn.00472380
mov eax, dword [esp + 0x274]
mov ecx, dword [0x526278]
mov edx, dword [0x52627c]
or eax, 0x200
cmp dword [0x5275a4], 1
mov word [esp + 0x274], ax
mov dword [esp + 0xf4c], ecx
mov dword [esp + 0xf50], edx
mov eax, 5
je 0x42d878
cmp dword [0x533860], 0
jne 0x42d878
cmp byte [0x535254], 0
jne 0x42d878
mov eax, CreateMappedBitmap
test bl, bl
jne 0x42d8d3
push eax
push 0
lea ecx, [esp + 0x274]
push ecx
mov ecx, 0x52fee8
call fcn.0041cdc0
test eax, eax
je 0x42d8d3
call fcn.0042c560
test eax, eax
je 0x42d8cf
mov eax, 0x526304
cmp byte [esp + 0x1b], bl
jne 0x42d8ae
mov eax, 0x4c5d70
push eax
lea ecx, [esp + 0x1c8]
call fcn.0046f9e0
mov eax, 1
add dword [esp + 0x3c], eax
add dword [esp + 0x30], eax
add dword [esp + 0x20], 0x48
jmp 0x42d8d3
inc dword [esp + 0x44]
add dword [esp + 0x34], 1
adc dword [esp + 0x38], 0
mov byte [esp + 0x2f70], 3
mov eax, dword [esp + 0xe9c]
test eax, eax
je 0x42d537
push eax
call fcn.004aef60
add esp, 4
jmp 0x42d537
mov dword [esp + 0x14], 0x33
jmp 0x42d9e1
mov edx, dword [0x5262a8]
mov eax, edx
xor eax, dword [esp + 0x34]
xor ecx, ecx
and eax, 0xffff
or eax, ecx
je 0x42d95b
cmp edx, 0xffff
jne 0x42d936
cmp dword [0x5262ac], ecx
je 0x42d95b
push 0x2ad
call fcn.00465ec0
push eax
push 0x5362aa
call fcn.00498be0
add esp, 8
mov dword [esp + 0x14], 3
jmp 0x42d9e1
push 4
push 0x526232
push 0x514fb4
mov byte [esp + 0xf60], 0x50
mov dword [esp + 0xf61], 0x6064b
call fcn.004b0a16
add esp, 0xc
test eax, eax
je 0x42d9b4
cmp byte [0x526ba4], 0
je 0x42d9aa
push 4
lea edx, [esp + 0xf58]
push edx
push 0x514fb4
call fcn.004b0a16
add esp, 0xc
test eax, eax
je 0x42d9b4
mov dword [esp + 0x58], 1
jmp 0x42d9e1
mov dword [esp + 0x58], 0
jmp 0x42d9e1
mov dword [esp + 0x14], eax
jmp 0x42d9e1
push 0x526304
push 0x2ab
call fcn.00465ec0
push eax
push 0x5362aa
call fcn.00498be0
add esp, 0xc
mov dword [esp + 0x1c], 1
mov eax, dword [0x526210]
mov ecx, dword [0x526214]
mov edx, dword [0x5261d0]
mov dword [esp + 0x8c], eax
mov eax, dword [0x5261d8]
mov dword [esp + 0x90], ecx
mov ecx, dword [0x5261dc]
xor esi, esi
cmp byte [0x526b9c], 0
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], ecx
je 0x42daa3
cmp byte [0x535eaa], 0
mov dword [0x526ba0], esi
je 0x42da51
push 0x4c6fe0
push 0x535eaa
call fcn.00457a20
cmp word [0x5362aa], si
je 0x42da69
push 0x4c5b08
push 0x5362aa
call fcn.00457ac0
mov ecx, dword [0x5261f0]
cmp ecx, esi
je 0x42da7b
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov dword [0x5261f0], esi
call fcn.004361f0
cmp byte [0x53395a], 0
push 0x5362aa
sete cl
push esi
lea ecx, [ecx*4 + 0x54]
push ecx
call fcn.0048bcd0
cmp dword [esp + 0x3c], esi
mov dword [esp + 0x20], esi
jle 0x42e467
mov eax, dword [esp + 0x5c]
shl eax, 6
mov dword [esp + 0x30], eax
lea esp, [esp]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x4c]
add edx, eax
lea eax, [eax + eax*8]
mov dword [esp + 0x48], edx
lea edx, [ecx + eax*8]
lea ecx, [esp + 0x1c4]
mov dword [0x5161c0], edx
call fcn.0046fc50
cmp byte [0x526b9c], 0
mov dword [esp + 0x94], eax
je 0x42dbb2
mov eax, dword [0x5161c0]
mov eax, dword [eax + 0x20]
cmp eax, dword [0x526ba0]
je 0x42dbb2
movzx ecx, word [0x526298]
cmp eax, ecx
jne 0x42db50
cmp byte [0x535eaa], 0
je 0x42db35
push 0x4c6fdc
push 0x535eaa
call fcn.00457a20
cmp word [0x5362aa], 0
je 0x42db82
push 0x4c5abc
push 0x5362aa
call fcn.00457ac0
jmp 0x42db82
cmp byte [0x535eaa], 0
je 0x42db64
push eax
push 0x535eaa
call fcn.0042c890
cmp word [0x5362aa], 0
je 0x42db82
mov edx, dword [0x5161c0]
mov eax, dword [edx + 0x20]
push eax
push 0x5362aa
call fcn.0042cba0
mov ecx, dword [0x5161c0]
mov edx, dword [ecx + 0x20]
mov ecx, dword [0x5261f0]
mov dword [0x526ba0], edx
test ecx, ecx
je 0x42dba3
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
mov dword [0x5261f0], 0
call fcn.004361f0
mov eax, dword [0x5161c0]
mov ebx, dword [eax]
add ebx, dword [0x526218]
mov esi, dword [eax + 4]
adc esi, dword [0x52621c]
push 0
push 0x2000
push esi
push ebx
call fcn.004b11b0
mov edi, eax
mov eax, ebx
sub eax, edi
mov ecx, esi
sbb ecx, edx
mov dword [esp + 0x78], edx
test esi, esi
jg 0x42dc98
jl 0x42dbf6
test ebx, ebx
jae 0x42dc98
push 0x2ad
call fcn.00465ec0
push eax
push 0x5362aa
call fcn.00498be0
add esp, 8
cmp dword [esp + 0x48], 0
mov dword [esp + 0x14], 2
jne 0x42dc8b
mov eax, dword [0x526218]
mov ecx, dword [0x52621c]
mov edx, eax
or edx, ecx
je 0x42dc8b
mov dword [esp + 0x28], ecx
xor ecx, ecx
push ecx
mov dword [esp + 0x28], eax
mov eax, dword [0x5161c0]
mov dword [0x526218], ecx
mov dword [0x52621c], ecx
mov ebx, dword [eax + 4]
mov esi, dword [eax]
push 0x2000
push ebx
push esi
call fcn.004b11b0
mov edi, eax
mov eax, esi
sub eax, edi
mov ecx, ebx
sbb ecx, edx
mov dword [esp + 0x78], edx
test ebx, ebx
jg 0x42dc98
jl 0x42dc73
test esi, esi
jae 0x42dc98
push 0x2ad
call fcn.00465ec0
push eax
push 0x5362aa
call fcn.00498be0
add esp, 8
mov dword [esp + 0x14], 3
jmp case.0x42e223.78
cmp eax, dword [0x526210]
jne 0x42dcd7
cmp ecx, dword [0x526214]
jne 0x42dcd7
cmp byte [0x526b9c], 0
jne 0x42dcd7
mov eax, dword [0x5261d0]
mov ecx, dword [0x5261cc]
sub eax, edi
sub eax, ecx
cdq
add dword [0x5261d8], eax
adc dword [0x5261dc], edx
add edi, ecx
mov dword [0x5261d0], edi
jmp 0x42dd50
push 0
push ecx
mov ecx, dword [0x5261f0]
push eax
call fcn.00431950
mov ecx, dword [0x5261f0]
call fcn.004311b0
mov dword [0x526210], eax
mov eax, dword [0x5261cc]
push 0x2000
push eax
mov dword [0x526214], edx
call fcn.00436420
cdq
mov ecx, edx
mov esi, eax
mov dword [0x5261d8], esi
mov dword [0x5261dc], ecx
test ecx, ecx
jg 0x42dd2f
jl 0x42dc73
test esi, esi
jbe 0x42dc73
mov edx, dword [0x5261cc]
lea eax, [edi + edx]
mov dword [0x5261d0], eax
mov eax, edi
cdq
sub esi, eax
sbb ecx, edx
mov dword [0x5261d8], esi
mov dword [0x5261dc], ecx
push 4
push 0x514fb4
call fcn.004365c0
test eax, eax
je 0x42dc73
push 4
push 0x526228
push 0x514fb4
call fcn.004b0a16
add esp, 0xc
test eax, eax
je 0x42de47
push 0x2ad
call fcn.00465ec0
push eax
push 0x5362aa
call fcn.00498be0
mov eax, dword [0x526218]
mov ecx, dword [0x52621c]
add esp, 8
cmp dword [esp + 0x48], 0
mov edi, 2
mov dword [esp + 0x14], edi
mov edx, eax
jne 0x42ddbb
or edx, ecx
jne 0x42dddb
jmp 0x42ddc3
or edx, ecx
jne case.0x42e223.78
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
mov ebx, edx
or ebx, esi
je case.0x42e223.78
mov ebx, eax
or ebx, ecx
je 0x42ddf1
mov dword [esp + 0x24], eax
xor eax, eax
mov dword [esp + 0x28], ecx
mov dword [0x526218], eax
mov dword [0x52621c], eax
jmp 0x42ddfd
mov dword [0x526218], edx
mov dword [0x52621c], esi
mov eax, dword [0x5161c0]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
call fcn.00436820
test eax, eax
jne 0x42dc73
push 4
push 0x514fb4
call fcn.004365c0
test eax, eax
je 0x42dc73
push 4
push 0x526228
push 0x514fb4
call fcn.004b0a16
add esp, 0xc
test eax, eax
je 0x42de4b
jmp 0x42dc73
mov edi, dword [esp + 0x14]
call fcn.00459d70
mov esi, eax
test esi, esi
je 0x42de77
push 0x2ad
call fcn.00465ec0
push eax
push 0x5362aa
call fcn.00498be0
add esp, 8
mov dword [esp + 0x14], esi
jmp case.0x42e223.78
movzx ecx, word [0x526258]
xor eax, eax
push eax
push 0x52623a
push 2
push ecx
mov word [0x526304], ax
call fcn.00436ae0
test eax, eax
je 0x42dec9
cmp eax, edi
jle 0x42dea2
mov edi, eax
mov dword [esp + 0x14], edi
cmp eax, 1
jle 0x42dec9
push 0x526304
push 0x2ab
call fcn.00465ec0
push eax
push 0x5362aa
call fcn.00498be0
add esp, 0xc
jmp case.0x42e223.78
mov eax, dword [0x526220]
test eax, eax
je 0x42dee5
push eax
call fcn.004aef60
add esp, 4
mov dword [0x526220], 0
movzx edx, word [0x52625a]
push 0
push 0
push 3
push edx
call fcn.00436ae0
test eax, eax
je 0x42df09
cmp eax, edi
jle 0x42df04
mov dword [esp + 0x14], eax
cmp eax, 1
jg 0x42dea7
movzx eax, word [0x52625a]
mov ecx, dword [0x526220]
push 1
push eax
push ecx
call fcn.00459be0
mov eax, dword [0x526b04]
movzx ecx, word [0x52625a]
push 0x1800
lea edx, [esp + 0x1760]
push edx
push eax
mov eax, dword [0x526220]
push ecx
call fcn.0042c9e0
test al, al
je 0x42df5f
push 0x400
push 0x526304
lea edx, [esp + 0x1764]
push edx
call fcn.00477af0
mov eax, dword [0x5161c0]
mov ecx, dword [eax + 0x28]
mov dword [0x526b08], ecx
mov edx, dword [eax + 0x2c]
mov dword [0x526b0c], edx
mov ecx, dword [eax + 0x30]
mov dword [0x526b10], ecx
mov edx, dword [eax + 0x34]
mov dword [0x526b14], edx
mov ecx, dword [eax + 0x38]
mov dword [0x526b18], ecx
mov edx, dword [eax + 0x3c]
lea eax, [esp + 0x6c]
push eax
movzx eax, word [0x52625a]
lea ecx, [esp + 0xa4]
mov dword [0x526b1c], edx
push ecx
mov ecx, dword [0x526220]
lea edx, [esp + 0xa0]
push edx
call fcn.0042c8f0
test al, al
je 0x42e00b
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0xa0]
mov dword [0x526b08], eax
mov eax, dword [esp + 0xa4]
mov dword [0x526b0c], ecx
mov ecx, dword [esp + 0x6c]
mov dword [0x526b10], edx
mov edx, dword [esp + 0x70]
mov dword [0x526b14], eax
mov dword [0x526b18], ecx
mov dword [0x526b1c], edx
movzx eax, word [0x52625a]
mov ecx, dword [0x526220]
push 0x52623c
push eax
push ecx
call fcn.00476f40
mov eax, dword [esp + 0x94]
test eax, eax
je 0x42e045
cmp word [eax], 0
je 0x42e045
push 0x400
push eax
push 0x526304
call fcn.0046f260
push 0x526304
call fcn.00455410
cmp word [eax], 0x5c
sete bl
test bl, bl
je 0x42e05f
xor edx, edx
mov word [eax], dx
cmp word [0x526304], 0
je 0x42e099
cmp word [0x526306], 0
je 0x42e099
cmp word [0x526308], 0
mov eax, 0x526308
je 0x42e099
cmp word [eax], 0x3a
jne 0x42e090
mov ecx, 0x5f
mov word [eax], cx
add eax, 2
cmp word [eax], 0
jne 0x42e082
push 0x526304
push 0x526304
call fcn.00455d20
push 0x400
push 0x526304
push 0
call fcn.0040a340
mov eax, dword [0x5161c0]
test byte [eax + 0x24], 0x10
je 0x42e0d2
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x42e0d0
cmp eax, 0xb
jne 0x42e0d2
mov bl, 1
cmp byte [0x535279], 0x49
movzx ecx, byte [0x53395a]
sete dl
push 0
movzx eax, dl
push eax
push ecx
push 0x526304
push 0
call fcn.00409f10
test al, al
je 0x42e467
movsx edx, byte [0x535279]
push edx
call fcn.004b0691
add esp, 4
cmp eax, 0x49
jne 0x42e132
push 0x526304
push 0
push 0x5362aa
push 0x535eaa
push 0x53527a
push 0
push 0
call fcn.004380a0
cmp byte [0x53395a], 0
jne case.0x42e223.89
xor esi, esi
test bl, bl
jne 0x42e26b
lea esp, [esp]
push 0x526304
call fcn.00436a10
cmp eax, 0xffffffff
je 0x42e251
test eax, eax
je 0x42e194
cmp eax, 1
jne case.0x42e223.89
mov eax, dword [0x533810]
cmp eax, 2
je case.0x42e223.78
cmp byte [0x533831], 0
jne 0x42e190
cmp byte [0x533830], 0
je 0x42e1a2
test esi, esi
jmp 0x42e19c
mov eax, dword [0x533810]
cmp eax, 2
je case.0x42e223.78
test eax, eax
je case.0x42e223.66
cmp eax, 3
jne case.0x42e223.89
nop
xor eax, eax
jmp 0x42e1c0
movzx ecx, word [eax + 0x526304]
mov word [esp + eax + 0xf5c], cx
add eax, 2
test cx, cx
jne 0x42e1c0
movzx eax, word [0x526240]
movzx ecx, word [0x52623e]
mov edx, dword [0x514fa4]
push 0
shl eax, 0x10
add eax, ecx
push eax
mov eax, dword [0x514fa0]
push edx
push eax
lea ecx, [esp + 0xf6c]
push ecx
push 0
call fcn.0040b080
cmp al, 0x43
je 0x42e467
movsx eax, al
add eax, 0xffffffbf
cmp eax, 0x38
ja case.0x42e223.66
movzx edx, byte [eax + 0x42e840]
jmp dword [edx*4 + 0x42e82c]
xor eax, eax
lea esp, [esp]
movzx ecx, word [esp + eax + 0xf5c]
mov word [eax + 0x526304], cx
add eax, 2
test cx, cx
jne 0x42e230
mov esi, 1
jmp 0x42e150
cmp byte [0x533830], 0
je case.0x42e223.89
test esi, esi
je case.0x42e223.78
jmp case.0x42e223.89
cmp byte [0x533830], 0
jne case.0x42e223.78
cmp word [0x526304], 0
je case.0x42e223.78
cmp dword [0x533834], 1
je case.0x42e223.78
mov ecx, dword [0x5161c0]
mov eax, dword [ecx + 0x1c]
xor esi, esi
test eax, eax
je 0x42e2a7
cmp eax, 0xb
jne 0x42e2aa
mov esi, dword [ecx + 0x24]
push 0x526304
call fcn.00432420
test al, al
jne 0x42e342
cmp byte [0x5338fb], al
push esi
sete al
movzx ecx, al
push ecx
push 0x526304
push 0
call fcn.00432c10
test eax, eax
je 0x42e342
push 1
push 0x526304
call fcn.00432de0
cmp byte [0x5338fb], 0
push esi
sete dl
movzx eax, dl
push eax
push 0x526304
push 0
call fcn.00432c10
test eax, eax
je 0x42e342
push 0x526304
push 0x1f7
call fcn.00465ec0
push eax
push 0x5362aa
call fcn.00498be0
add esp, 0xc
push 0x526304
push 0
mov ecx, 0x513904
call fcn.00429720
mov ecx, 0x513904
call fcn.004298d0
jmp case.0x42e223.78
push 0x526304
lea ecx, [esp + 0x120]
call fcn.0046f9e0
mov ecx, dword [0x526b0c]
mov edx, dword [0x526b08]
push ecx
push edx
lea ecx, [esp + 0x68]
call fcn.0042cc00
mov eax, dword [0x526b1c]
mov ecx, dword [0x526b18]
push eax
push ecx
lea ecx, [esp + 0x68]
call fcn.0042cc00
mov edx, dword [0x526b14]
mov eax, dword [0x526b10]
push edx
push eax
lea ecx, [esp + 0x68]
call fcn.0042cc00
jmp case.0x42e223.78
mov dword [0x533810], 1
mov ecx, dword [0x5161c0]
test byte [ecx + 0x40], 1
je 0x42e426
call fcn.00477730
test eax, eax
je 0x42e426
cmp eax, 9
je 0x42e65e
cmp eax, 1
jne 0x42e40d
cmp dword [0x514f60], 0
jne 0x42e407
cmp dword [0x526b20], 0
je 0x42e3ea
push 0
call fcn.004985f0
add esp, 4
inc dword [esp + 0x40]
jmp case.0x42e223.78
push 0x526304
push 0x1fb
call fcn.00465ec0
push eax
push 0x5362aa
call fcn.00498be0
add esp, 0xc
inc dword [esp + 0x40]
jmp case.0x42e223.78
cmp eax, dword [esp + 0x14]
jle 0x42e417
mov dword [esp + 0x14], eax
push 0x526304
push 0x1fb
jmp 0x42deb1
mov dword [0x5262d4], 0
call fcn.0042cdb0
test eax, eax
je case.0x42e223.78
mov esi, dword [esp + 0x14]
cmp eax, esi
jle 0x42e447
mov esi, eax
mov dword [esp + 0x14], esi
cmp dword [0x5262d4], 1
jg 0x42e66d
mov eax, dword [esp + 0x20]
inc eax
cmp eax, dword [esp + 0x3c]
mov dword [esp + 0x20], eax
jl 0x42dac0
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x8c]
mov ecx, dword [0x5261f0]
push 0
push edx
push eax
call fcn.00431950
mov ecx, dword [0x5261f0]
call fcn.004311b0
mov ecx, dword [0x5261cc]
push 0x2000
push ecx
mov dword [0x526210], eax
mov dword [0x526214], edx
call fcn.00436420
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
inc dword [esp + 0x5c]
cmp dword [esp + 0x1c], 0
mov dword [0x5261d0], edx
mov dword [0x5261d8], eax
mov dword [0x5261dc], ecx
je 0x42d510
push 0x400
lea edx, [esp + 0xf60]
push edx
lea ecx, [esp + 0x124]
call fcn.0046fcf0
test al, al
je 0x42e612
mov esi, dword [esp + 0x60]
add esi, 0x10
jmp 0x42e510
mov eax, dword [esi - 0x10]
mov dword [esp + 0x6c], eax
mov ecx, dword [esi - 0xc]
mov dword [esp + 0x70], ecx
mov edx, dword [esi - 8]
mov dword [esp + 0x34], edx
mov eax, dword [esi - 4]
mov dword [esp + 0x38], eax
mov ecx, dword [esi]
mov dword [esp + 0x24], ecx
mov edx, dword [esi + 4]
lea ecx, [esp + 0xf8]
mov dword [esp + 0x28], edx
call fcn.00472370
lea ecx, [esp + 0xd4]
call fcn.00472370
lea ecx, [esp + 0xb0]
call fcn.00472370
cmp dword [0x533e24], 0
je 0x42e577
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0xfc]
call fcn.00472380
cmp dword [0x533e28], 0
je 0x42e59f
cmp dword [esp + 0x38], 0
jne 0x42e58e
cmp dword [esp + 0x34], 0
je 0x42e59f
lea ecx, [esp + 0x34]
push ecx
lea ecx, [esp + 0xd8]
call fcn.00472380
cmp dword [0x533e2c], 0
je 0x42e5c7
cmp dword [esp + 0x28], 0
jne 0x42e5b6
cmp dword [esp + 0x24], 0
je 0x42e5c7
lea edx, [esp + 0x24]
push edx
lea ecx, [esp + 0xb4]
call fcn.00472380
lea eax, [esp + 0xb0]
push eax
lea ecx, [esp + 0xd8]
push ecx
lea edx, [esp + 0x100]
push edx
lea eax, [esp + 0xf68]
push eax
push 0
call fcn.00432f70
push 0x400
lea ecx, [esp + 0xf60]
push ecx
lea ecx, [esp + 0x124]
add esi, 0x18
call fcn.0046fcf0
test al, al
jne 0x42e510
cmp byte [0x527e58], 0
jne 0x42e6d1
cmp dword [esp + 0x58], 0
je 0x42e6d1
cmp byte [0x526b9c], 0
jne 0x42e6d1
push 0x2ad
call fcn.00465ec0
push eax
push 0x5362aa
call fcn.00498be0
mov ebx, dword [esp + 0x1c]
add esp, 8
test ebx, ebx
jne 0x42e6d5
mov ebx, 1
jmp 0x42e6d5
push 0
call fcn.004985f0
add esp, 4
jmp 0x42e4e0
mov byte [esp + 0x2f70], 2
lea ecx, [esp + 0x11c]
call fcn.00401a70
mov byte [esp + 0x2f70], 1
mov eax, dword [esp + 0x60]
test eax, eax
je 0x42e69a
push eax
call fcn.004aef60
add esp, 4
mov byte [esp + 0x2f70], 0
lea ecx, [esp + 0x1c4]
call fcn.00401a70
mov dword [esp + 0x2f70], 0xffffffff
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x42e6ca
push eax
call fcn.004aef60
add esp, 4
mov eax, esi
jmp 0x42e807
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x48]
movzx edi, word [esp + 0x40]
inc esi
cmp esi, edi
jne 0x42e70d
cmp byte [0x535279], 0x49
je 0x42e70d
cmp dword [0x526b20], 0
jne 0x42e70d
push 0x345
call fcn.00465ec0
push eax
push 0x5362aa
call fcn.00498be0
add esp, 8
test esi, esi
jne 0x42e728
cmp ebx, 1
jg 0x42e728
xor dx, dx
cmp dx, word [esp + 0x44]
sbb ebx, ebx
and ebx, 0x46
add ebx, 0xb
jmp 0x42e75d
cmp esi, edi
jne 0x42e738
cmp ebx, 1
jg 0x42e738
mov ebx, 0x52
jmp 0x42e75d
cmp word [esp + 0x44], 0
jbe 0x42e74c
cmp ebx, 1
jg 0x42e74c
mov ebx, 0x51
jmp 0x42e75d
cmp word [esp + 0x40], 0
jbe 0x42e75d
test ebx, ebx
jne 0x42e75d
mov ebx, 1
mov byte [esp + 0x2f70], 6
mov eax, dword [esp + 0x12c]
test eax, eax
je 0x42e779
push eax
call fcn.004aef60
add esp, 4
mov byte [esp + 0x2f70], 2
mov eax, dword [esp + 0x11c]
test eax, eax
je 0x42e795
push eax
call fcn.004aef60
add esp, 4
mov byte [esp + 0x2f70], 1
cmp dword [esp + 0x60], 0
je 0x42e7b1
mov eax, dword [esp + 0x60]
push eax
call fcn.004aef60
add esp, 4
mov byte [esp + 0x2f70], 8
mov eax, dword [esp + 0x1d4]
test eax, eax
je 0x42e7cd
push eax
call fcn.004aef60
add esp, 4
mov byte [esp + 0x2f70], 0
mov eax, dword [esp + 0x1c4]
test eax, eax
je 0x42e7e9
push eax
call fcn.004aef60
add esp, 4
mov dword [esp + 0x2f70], 0xffffffff
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x42e805
push eax
call fcn.004aef60
add esp, 4
mov eax, ebx
mov ecx, dword [esp + 0x2f68]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x2f50]
xor ecx, esp
call fcn.004aedbb
mov esp, ebp
pop ebp
ret