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

Disassembly:
sub esp, 0x58
push ebx
push ebp
push esi
push edi
push dword [0x4ec178]
call fcn.00407b26
mov ebx, dword [esp + 0x70]
mov esi, dword [eax]
test ebx, ebx
jns 0x424506
mov dword [esp + 0x1c], 0xffffffff
jmp 0x42454f
mov eax, dword [esi + 0x38]
lea edi, [esi + 0x30]
cmp dword [esi + 0x34], eax
jl 0x42452f
add eax, 0x3e80
mov dword [esi + 0x38], eax
shl eax, 4
push eax
push dword [edi]
push 8
push dword [0x4d7b78]
call dword [sym.imp.KERNEL32.dll_HeapReAlloc]
mov dword [edi], eax
mov eax, dword [esi + 0x34]
mov esi, eax
push ebx
mov dword [esp + 0x20], eax
add esi, esi
call fcn.0041ebd0
mov ecx, dword [edi]
mov dword [ecx + esi*8], eax
mov eax, dword [edi]
mov dword [eax + esi*8 + 4], 0
mov ebp, dword [0x4d8290]
mov ebx, dword [esp + 0x6c]
mov byte [ebp], 0
lea ecx, [ecx]
mov al, byte [ebx]
cmp al, 0x20
je 0x42456a
cmp al, 9
jne 0x42456d
inc ebx
jmp 0x424560
mov esi, ebx
test al, al
je 0x424591
movsx eax, al
push eax
push dword [0x4d68e0]
call fcn.0044f150
add esp, 8
test eax, eax
je 0x424591
mov al, byte [ebx + 1]
inc ebx
test al, al
jne 0x424573
mov edi, ebx
mov al, byte [ebx]
cmp al, 0x20
je 0x42459d
cmp al, 9
jne 0x4245a0
inc ebx
jmp 0x424593
cmp al, 0x3a
jne 0x424610
cmp byte [ebx + 1], al
jne 0x424610
lea eax, [esp + 0x24]
mov dword [esp + 0x30], esi
push eax
push esi
mov byte [edi], 0
call fcn.004363b0
test eax, eax
jne 0x4245c9
push str.ModuleNotFound
jmp 0x425281
add ebx, 2
lea esp, [esp]
mov al, byte [ebx]
cmp al, 0x20
je 0x4245da
cmp al, 9
jne 0x4245dd
inc ebx
jmp 0x4245d0
mov esi, ebx
test al, al
je 0x424601
movsx eax, al
push eax
push dword [0x4d68e0]
call fcn.0044f150
add esp, 8
test eax, eax
je 0x424601
mov al, byte [ebx + 1]
inc ebx
test al, al
jne 0x4245e3
mov edi, ebx
mov al, byte [ebx]
cmp al, 0x20
je 0x42460d
cmp al, 9
jne 0x424618
inc ebx
jmp 0x424603
mov dword [esp + 0x30], 0x4ab6a4
cmp al, 0x2e
jne 0x424650
mov al, byte [ebx + 1]
inc ebx
cmp al, 0x20
je 0x42461c
cmp al, 9
je 0x42461c
test al, al
je 0x424650
lea esp, [esp]
movsx eax, al
push eax
push dword [0x4d68e0]
call fcn.0044f150
add esp, 8
test eax, eax
je 0x424650
mov al, byte [ebx + 1]
inc ebx
test al, al
jne 0x424630
mov edi, edi
mov al, byte [ebx]
mov byte [esp + 0x6c], al
cmp al, 0x20
je 0x42465e
cmp al, 9
jne 0x424661
inc ebx
jmp 0x424650
mov ecx, dword [sym.imp.KERNEL32.dll_HeapAlloc]
inc ebx
mov byte [edi], 0
mov dword [esp + 0x38], ecx
test al, al
je 0x42508b
cmp al, 0x28
je 0x42468d
cmp al, 0x5c
je 0x42508b
push str.InvalidName
jmp 0x425281
mov edi, dword [esp + 0x30]
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x2c]
push eax
push 0
lea eax, [esp + 0x1e]
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x27]
push eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x40]
push eax
push edi
lea eax, [esp + 0x50]
push eax
push esi
push 1
push dword [esp + 0x4c]
call fcn.004347c0
test eax, eax
je 0x424b34
mov edx, dword [esp + 0x24]
cmp byte [edx], 0
je 0x42472b
mov esi, edx
jmp 0x4246e0
mov al, byte [edx]
inc edx
test al, al
jne 0x4246e0
sub edx, esi
lea edi, [ebp - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4246f0
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 1]
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x424710
mov ax, word [0x4b2c30]
mov word [ecx], ax
mov al, byte [0x4b2c32]
mov byte [ecx + 2], al
test byte [esp + 0x14], 0x80
je 0x424748
lea edi, [ebp - 1]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x424735
mov ax, word [0x4b58d8]
mov word [edi], ax
mov edx, dword [esp + 0x2c]
mov esi, edx
mov edi, edi
mov al, byte [edx]
inc edx
test al, al
jne 0x424750
sub edx, esi
lea edi, [ebp - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x424760
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebp - 1]
lea esp, [esp]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x424780
mov ax, word [0x4b5f6c]
mov word [edi], ax
mov edi, dword [esp + 0x74]
mov eax, dword [esp + 0x14]
lea esi, [edi + 1]
mov dword [esp + 0x1c], esi
mov byte [esi], al
mov byte [edi], 3
lea ecx, [edi + 2]
mov dword [esp + 0x6c], ecx
test al, 0x40
je 0x4247b7
mov byte [ecx], 6
jmp 0x4247bd
mov al, byte [esp + 0x13]
mov byte [ecx], al
mov cl, byte [esp + 0x12]
mov eax, dword [esp + 0x18]
mov dword [edi + 8], eax
mov dword [edi + 0xc], 0
cmp cl, 1
jle 0x424801
movsx eax, cl
shl eax, 2
push eax
push 0
push dword [0x4d7b78]
call dword [esp + 0x44]
mov dword [edi + 0x18], eax
test eax, eax
jne 0x4247fd
push str.OutOfMemory
push str.Debugger
jmp 0x425286
mov cl, byte [esp + 0x12]
xor edx, edx
mov dword [esp + 0x30], edx
test cl, cl
jle 0x424a52
lea esi, [edi + 0x18]
mov dword [esp + 0x34], esi
mov edi, esi
test edx, edx
je 0x424841
lea ecx, [ebp - 1]
nop
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x424820
mov ax, word [0x4b68e4]
mov edi, esi
mov word [ecx], ax
mov al, byte [0x4b68e6]
mov byte [ecx + 2], al
mov cl, byte [esp + 0x12]
movsx eax, cl
dec eax
mov dword [esp + 0x3c], ebx
cmp edx, eax
jne 0x4248a2
push 0x29
push ebx
call fcn.0042e210
mov esi, eax
test esi, esi
je 0x424975
push 0x2c
push ebx
call fcn.0042e210
test eax, eax
je 0x4248d0
push 0x2c
push ebx
call fcn.0042e210
cmp eax, esi
jae 0x4248d0
cmp byte [esp + 0x12], 1
jle 0x424893
mov eax, dword [esp + 0x74]
push dword [eax + 0x18]
push 0
push dword [0x4d7b78]
call dword [sym.imp.KERNEL32.dll_HeapFree]
push str.TooFewDimensions
push str.Parser
jmp 0x425286
push 0x2c
push ebx
call fcn.0042e210
mov esi, eax
test esi, esi
je 0x424988
push 0x2c
push ebx
call fcn.0042e210
test eax, eax
je 0x4248d0
push 0x2c
push ebx
call fcn.0042e210
cmp eax, esi
jb 0x424984
lea ebx, [esi + 1]
mov byte [esi], 0
call fcn.00436680
mov edi, dword [esp + 0x78]
push eax
push edi
lea eax, [esp + 0x50]
push eax
push 0
push dword [esp + 0x4c]
call fcn.0040f510
test eax, eax
je 0x425297
cmp byte [esp + 0x58], 0
je 0x4249fd
mov eax, dword [esp + 0x48]
cmp eax, 0x23
jne 0x4249ae
mov ecx, ebp
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x424916
push dword [esp + 0x50]
sub ecx, edx
push 0x4aed84
lea eax, [ecx + ebp]
push eax
call fcn.004017af
mov edi, dword [esp + 0x80]
add esp, 0xc
mov cl, byte [esp + 0x12]
add edi, 0x18
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x30]
cmp cl, 1
jne 0x424953
mov dword [edi], eax
jmp 0x42495c
mov ecx, dword [edi]
mov dword [ecx + edx*4], eax
mov cl, byte [esp + 0x12]
inc edx
movsx eax, cl
mov dword [esp + 0x30], edx
cmp edx, eax
jge 0x424a4e
mov esi, dword [esp + 0x34]
jmp 0x424818
push str.MissingArrayParen
push str.Parser
jmp 0x425286
mov edi, dword [esp + 0x34]
cmp byte [esp + 0x12], 1
jle 0x42499f
push dword [edi]
push 0
push dword [0x4d7b78]
call dword [sym.imp.KERNEL32.dll_HeapFree]
push str.TooManyDimensions
push str.Parser
jmp 0x425286
mov esi, dword [sym.imp.KERNEL32.dll_HeapFree]
cmp eax, 0x25
jne 0x4249c7
push dword [esp + 0x50]
push 0
push dword [0x4d7b78]
call esi
cmp byte [esp + 0x12], 1
jle 0x4249df
mov eax, dword [esp + 0x74]
push dword [eax + 0x18]
push 0
push dword [0x4d7b78]
call esi
push str.IntegerOnly
push str.External
call fcn.00425db0
add esp, 8
mov dword [edi], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret
cmp dword [esp + 0x48], 0x25
mov esi, dword [sym.imp.KERNEL32.dll_HeapFree]
jne 0x424a18
push dword [esp + 0x50]
push 0
push dword [0x4d7b78]
call esi
cmp byte [esp + 0x12], 1
jle 0x424a30
mov eax, dword [esp + 0x74]
push dword [eax + 0x18]
push 0
push dword [0x4d7b78]
call esi
push str.LiteralOnly
push str.External
call fcn.00425db0
add esp, 8
mov dword [edi], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret
mov esi, dword [esp + 0x1c]
lea edi, [ebp - 1]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x424a55
mov ax, word [0x4b5f34]
mov word [edi], ax
push dword [esp + 0x20]
mov edi, dword [esp + 0x78]
push dword [esp + 0x2c]
mov al, byte [esp + 0x1a]
push dword [esp + 0x1c]
mov byte [edi + 0x20], al
call fcn.0044d000
mov dword [edi + 0x1c], eax
mov al, byte [ebx]
cmp al, 0x20
je 0x424a91
cmp al, 9
jne 0x424a94
inc ebx
jmp 0x424a87
cmp al, 0x5c
jne 0x424b0a
lea edi, [ebp - 1]
jmp 0x424aa0
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x424aa0
mov ax, word [0x4b1228]
mov word [edi], ax
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x7c]
lea eax, [esp + 0x30]
mov dword [esp + 0x20], 0
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [ebx + 1]
push ebp
push eax
call fcn.004252b0
add esp, 0x1c
test eax, eax
je 0x425297
mov ecx, dword [esp + 0x74]
mov al, byte [esp + 0x14]
mov edi, dword [esp + 0x74]
mov byte [esi], al
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x6c]
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x1c]
jmp 0x4251e2
test al, al
je 0x425029
cmp byte [esp + 0x12], 1
jle 0x424b2a
push dword [edi + 0x18]
push 0
push dword [0x4d7b78]
call dword [sym.imp.KERNEL32.dll_HeapFree]
push str.InvalidCharacter
jmp 0x425281
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x1f]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x38]
push eax
push edi
lea eax, [esp + 0x48]
push eax
push esi
push dword [esp + 0x40]
call fcn.00435760
test eax, eax
je 0x424d08
mov edx, dword [esp + 0x24]
cmp byte [edx], 0
je 0x424bbb
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x424b75
sub edx, esi
lea edi, [ebp - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x424b81
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 1]
lea ebx, [ebx]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x424ba0
mov ax, word [0x4b2c30]
mov word [ecx], ax
mov al, byte [0x4b2c32]
mov byte [ecx + 2], al
test byte [esp + 0x14], 0x80
je 0x424bd8
lea edi, [ebp - 1]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x424bc5
mov ax, word [0x4b58d8]
mov word [edi], ax
mov edx, dword [esp + 0x2c]
mov esi, edx
mov edi, edi
mov al, byte [edx]
inc edx
test al, al
jne 0x424be0
sub edx, esi
lea edi, [ebp - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x424bf0
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 1]
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x424c10
mov ax, word [0x4b5f1c]
mov edx, dword [esp + 0x74]
mov word [ecx], ax
mov al, byte [0x4b5f1e]
mov byte [ecx + 2], al
lea ecx, [edx + 1]
mov eax, dword [esp + 0x14]
lea esi, [edx + 2]
mov byte [edx], 2
mov dword [esp + 0x1c], ecx
mov byte [ecx], al
test al, 0x40
je 0x424c4b
mov byte [esi], 6
jmp 0x424c51
mov al, byte [esp + 0x13]
mov byte [esi], al
mov eax, dword [esp + 0x18]
mov dword [edx + 8], eax
mov dword [edx + 0xc], 0
nop
mov al, byte [ebx]
cmp al, 0x20
je 0x424c6a
cmp al, 9
jne 0x424c6d
inc ebx
jmp 0x424c60
cmp al, 0x29
je 0x424c7b
push str.InvalidListName
jmp 0x425281
mov al, byte [ebx + 1]
inc ebx
cmp al, 0x20
je 0x424c7b
cmp al, 9
je 0x424c7b
cmp al, 0x5c
jne 0x424cfa
lea edi, [ebp - 1]
mov edi, edi
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x424c90
mov ax, word [0x4b1228]
mov word [edi], ax
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x7c]
lea eax, [esp + 0x30]
mov dword [esp + 0x20], 0
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [ebx + 1]
push ebp
push eax
call fcn.004252b0
add esp, 0x1c
test eax, eax
je 0x425297
mov ecx, dword [esp + 0x1c]
mov al, byte [esp + 0x14]
mov byte [ecx], al
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x18]
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x74]
jmp 0x4251e2
test al, al
je 0x424ced
push str.InvalidCharacter
jmp 0x425281
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x1f]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x38]
push eax
push edi
lea eax, [esp + 0x48]
push eax
push esi
push dword [esp + 0x40]
call fcn.00435f20
test eax, eax
je 0x425081
mov edx, dword [esp + 0x24]
cmp byte [edx], 0
je 0x424d9b
mov esi, edx
lea esp, [esp]
mov al, byte [edx]
inc edx
test al, al
jne 0x424d50
sub edx, esi
lea edi, [ebp - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x424d60
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 1]
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x424d80
mov ax, word [0x4b2c30]
mov word [ecx], ax
mov al, byte [0x4b2c32]
mov byte [ecx + 2], al
test byte [esp + 0x14], 0x80
je 0x424db8
lea edi, [ebp - 1]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x424da5
mov ax, word [0x4b58d8]
mov word [edi], ax
mov edx, dword [esp + 0x2c]
mov esi, edx
mov edi, edi
mov al, byte [edx]
inc edx
test al, al
jne 0x424dc0
sub edx, esi
lea edi, [ebp - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x424dd0
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebp - 1]
lea esp, [esp]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x424df0
mov ax, word [0x4b5f6c]
mov word [edi], ax
mov edi, dword [esp + 0x74]
mov eax, dword [esp + 0x14]
lea ecx, [edi + 1]
mov dword [esp + 0x1c], ecx
mov byte [ecx], al
mov byte [edi], 4
lea ecx, [edi + 2]
mov dword [esp + 0x6c], ecx
test al, 0x40
je 0x424e27
mov byte [ecx], 6
jmp 0x424e2d
mov al, byte [esp + 0x13]
mov byte [ecx], al
mov eax, dword [esp + 0x18]
push 0x29
push ebx
mov dword [edi + 8], eax
mov dword [edi + 0xc], 0
call fcn.0042e210
test eax, eax
jne 0x424e56
push str.MissingMapParen
push str.Parser
jmp 0x425286
lea esi, [eax + 1]
mov byte [eax], 0
call fcn.00436680
push eax
push dword [esp + 0x7c]
lea eax, [esp + 0x50]
push eax
push 0
push ebx
call fcn.0040f510
test eax, eax
je 0x425297
mov eax, dword [esp + 0x48]
cmp eax, 2
jne 0x424eb4
lea ebx, [edi + 0x18]
mov dword [ebx], 0
lea edi, [ebp - 1]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x424e90
mov ax, word [0x4b5f34]
mov word [edi], ax
mov al, byte [esi]
cmp al, 0x20
je 0x424eb1
cmp al, 9
jne 0x424fc0
inc esi
jmp 0x424ea3
cmp byte [esp + 0x58], 0
jne 0x424edc
cmp eax, 0x25
jne 0x424ed2
push dword [esp + 0x50]
push 0
push dword [0x4d7b78]
call dword [sym.imp.KERNEL32.dll_HeapFree]
push str.LiteralOnly
jmp 0x425281
cmp eax, 0x25
je 0x424ef0
push str.MapStringKey
push str.Parser
jmp 0x425286
mov eax, dword [esp + 0x50]
lea ebx, [edi + 0x18]
mov dword [edi + 0x18], eax
mov dword [esp + 0x50], 0
test eax, eax
je 0x424e8d
lea edi, [ebp - 1]
lea esp, [esp]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x424f10
mov ax, word [0x4b657c]
mov word [edi], ax
cmp dword [0x4c3014], 0
je 0x424f5a
mov ecx, ebp
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x424f31
push 0
push 0
sub ecx, edx
push 0x112a880
lea eax, [ecx + ebp]
push eax
push 0xffffffffffffffff
push dword [ebx]
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
jmp 0x424f9d
mov edx, dword [ebx]
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x424f61
sub ecx, edi
mov dword [esp + 0x44], 0x112a880
lea eax, [ecx + 1]
mov ecx, ebp
mov dword [esp + 0x40], eax
lea edi, [ecx + 1]
mov edi, edi
mov al, byte [ecx]
inc ecx
test al, al
jne 0x424f80
lea eax, [esp + 0x40]
sub ecx, edi
push eax
push edx
lea eax, [esp + 0x4c]
push eax
lea eax, [ecx + ebp]
push eax
call fcn.00433840
lea ecx, [ebp - 1]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x424fa0
mov ax, word [0x4b5f20]
mov word [ecx], ax
mov al, byte [0x4b5f22]
mov byte [ecx + 2], al
jmp 0x424ea3
cmp al, 0x5c
jne 0x42505d
lea edi, [ebp - 1]
jmp 0x424fd0
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x424fd0
mov ax, word [0x4b1228]
mov word [edi], ax
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x7c]
lea eax, [esp + 0x30]
mov dword [esp + 0x20], 0
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esi + 1]
push ebp
push eax
call fcn.004252b0
add esp, 0x1c
test eax, eax
je 0x42503a
mov ecx, dword [esp + 0x1c]
mov al, byte [esp + 0x14]
mov byte [ecx], al
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x18]
mov dword [ecx + 0xc], eax
mov esi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x74]
jmp 0x4251e2
mov eax, dword [ebx]
test eax, eax
je 0x425297
push eax
push 0
push dword [0x4d7b78]
call dword [sym.imp.KERNEL32.dll_HeapFree]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x58
ret
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x6c]
mov dword [esp + 0x1c], ecx
test al, al
je 0x424ced
mov eax, dword [ebx]
test eax, eax
je 0x424b2a
push eax
jmp 0x424b1c
push str.ArrayListNotFound
jmp 0x425281
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x1f]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x48]
lea eax, [esp + 0x48]
push eax
push esi
push dword [esp + 0x40]
call fcn.00433b50
test eax, eax
je 0x42527c
mov edx, dword [esp + 0x24]
cmp byte [edx], 0
je 0x42511b
mov esi, edx
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x4250d0
sub edx, esi
lea edi, [ebp - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4250e0
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 1]
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x425100
mov ax, word [0x4b2c30]
mov word [ecx], ax
mov al, byte [0x4b2c32]
mov byte [ecx + 2], al
test byte [esp + 0x14], 0x80
je 0x425138
lea edi, [ebp - 1]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x425125
mov ax, word [0x4b58d8]
mov word [edi], ax
mov edx, dword [esp + 0x2c]
mov esi, edx
mov edi, edi
mov al, byte [edx]
inc edx
test al, al
jne 0x425140
sub edx, esi
lea edi, [ebp - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x425150
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
cmp byte [esp + 0x6c], 0
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x74]
movzx eax, byte [esp + 0x14]
lea ecx, [edi + 1]
mov byte [ecx], al
lea esi, [edi + 2]
movzx eax, byte [esp + 0x13]
mov byte [edi], 1
mov dword [esp + 0x1c], ecx
mov byte [esi], al
je 0x4251db
lea edi, [ebp - 1]
nop
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x425190
mov ax, word [0x4b1228]
mov word [edi], ax
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x7c]
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x24]
push eax
push ebp
push ebx
call fcn.004252b0
add esp, 0x1c
test eax, eax
je 0x425297
mov ecx, dword [esp + 0x1c]
mov al, byte [esp + 0x14]
mov edi, dword [esp + 0x74]
mov byte [ecx], al
mov eax, dword [esp + 0x18]
mov dword [edi + 0xc], eax
mov cl, byte [ecx]
mov al, cl
and al, 0x3f
cmp al, 7
jne 0x4251fa
test cl, cl
js 0x425209
push str.NoStructureDisplay
jmp 0x425281
cmp al, 0xa
jne 0x425209
test cl, cl
js 0x425209
mov eax, dword [esp + 0x20]
mov dword [edi + 0x2c], eax
mov al, byte [esi]
cmp al, 1
je 0x425222
test al, al
je 0x425222
mov eax, dword [esp + 0x70]
push eax
mov dword [edi + 0x14], eax
call fcn.0041ebd0
jmp 0x42522c
mov dword [edi + 0x14], 0xffffffff
or eax, 0xffffffff
mov ecx, ebp
mov dword [edi + 0x10], eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x425234
sub ecx, edx
lea eax, [ecx + 1]
push eax
push 0
push dword [0x4d7b78]
call dword [esp + 0x44]
mov ecx, eax
mov dword [edi + 4], ecx
test ecx, ecx
je 0x4247ee
lea ebx, [ebx]
mov al, byte [ebp]
lea ebp, [ebp + 1]
mov byte [ecx], al
lea ecx, [ecx + 1]
test al, al
jne 0x425260
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x58
ret
push str.VariableNotFound
push str.External
call fcn.00425db0
mov ecx, dword [esp + 0x80]
add esp, 8
mov dword [ecx], eax
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x58
ret