Function at 0x43bd4d
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x154
push ebx
push esi
push edi
mov esi, eax
mov eax, dword [ebp + 0xc]
xor ebx, ebx
push ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 4], eax
call dword [0x450318]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x120]
push eax
call dword [0x450360]
test eax, eax
mov edi, 0xc000
jne 0x43bd9d
push pe_nt_image_headers32
lea eax, [ebp - 0x120]
push ebx
push eax
call fcn.00444660
add esp, 0xc
jmp 0x43be11
cmp dword [ebp + 8], 0x12
jne 0x43bdb6
mov eax, esi
shr eax, 0x10
test ah, 1
je 0x43bdb6
mov al, byte [ebp - 0x10e]
mov byte [ebp - 0x7b], al
mov eax, dword [0x46ee5c]
cmp eax, 3
je 0x43bdda
cmp eax, 1
jg 0x43be04
mov eax, dword [0x46d664]
cmp dword [eax + 0x144], ebx
je 0x43be04
cmp dword [0x46ee64], ebx
jne 0x43be04
cmp dword [ebp + 8], 0x90
jne 0x43be04
test byte [ebp - 0x110], 0x80
jne 0x43be04
mov eax, esi
shr eax, 0x10
test di, ax
mov dword [ebp + 8], 0x2b
jne 0x43be04
xor byte [ebp - 0x90], 1
lea eax, [ebp - 0x120]
push eax
call dword [0x45031c]
mov eax, dword [0x46d664]
cmp dword [eax + 0x14c], ebx
je 0x43be30
mov eax, esi
shr eax, 0x10
and ax, di
cmp ax, 0x4000
je 0x43cb0e
shr esi, 0x10
test si, 0x2000
mov dword [ebp - 0xc], esi
je 0x43be4a
test byte [ebp - 0x7b], 0x80
jne 0x43be4a
mov dword [ebp - 8], 1
movzx eax, si
mov ecx, eax
shr ecx, 0xf
not ecx
and ecx, 1
cmp dword [ebp - 8], ebx
mov dword [ebp - 0x20], ecx
je 0x43be80
test byte [ebp - 0x10f], 0x80
je 0x43be80
cmp dword [0x46eec4], ebx
je 0x43be79
mov byte [ebp - 0x10e], 0
jmp 0x43be80
mov byte [ebp - 0x7b], 0x80
mov dword [ebp - 8], ebx
movzx ecx, byte [ebp - 0x110]
and eax, 0x81ff
mov dword [ebp - 0x10], eax
movzx eax, byte [ebp - 0x10f]
shr eax, 7
shr ecx, 7
lea edx, [ecx + eax*2]
mov eax, dword [0x46cabc]
cmp eax, ebx
mov ecx, dword [0x46ee5c]
jne 0x43bee8
cmp dword [0x46eec0], 0
mov dword [0x46cb10], 0x100
je 0x43bed8
cmp dword [ebp + 8], 0x12
jne 0x43bed8
test si, 0x100
je 0x43bf38
mov dword [0x46cb10], 0x12
cmp dword [ebp + 8], 0x5d
jne 0x43bee8
mov dword [0x46cb10], 0x5d
mov ebx, dword [0x46cb10]
cmp dword [ebp + 8], ebx
jne 0x43bf13
test eax, eax
jne 0x43beff
test di, si
jne 0x43bf31
inc eax
jmp 0x43bf33
cmp eax, 1
jne 0x43bf31
test si, si
jns 0x43bf31
push 2
pop eax
mov dword [0x46cabc], eax
jmp 0x43bf2a
cmp eax, 1
jne 0x43bf28
cmp dword [ebp + 8], 0x11
je 0x43bf38
xor eax, eax
mov dword [0x46cabc], eax
cmp eax, 1
jle 0x43bf38
xor edi, edi
cmp dword [ebp - 8], edi
je 0x43bf3f
xor eax, eax
mov dword [0x46cabc], eax
xor edi, edi
cmp dword [ebp - 8], edi
jne 0x43bf6b
mov ebx, dword [0x46d664]
cmp dword [ebx + 0x144], edi
je 0x43bf5a
cmp dword [0x46ee64], edi
jne 0x43bf5a
cmp ecx, 2
jne 0x43bf6b
cmp ecx, 3
je 0x43bf6b
cmp dword [0x46ee8c], edi
jne 0x43bf6b
cmp eax, edi
je 0x43bfdc
test si, 0x100
jne 0x43bfdc
mov ecx, dword [ebp + 8]
cmp ecx, 0x25
ja 0x43bfa7
je 0x43bfa3
sub ecx, 0xc
je 0x43bf9f
sub ecx, 0x15
je 0x43bf9b
dec ecx
je 0x43bf97
dec ecx
je 0x43bf93
dec ecx
jne 0x43bfdc
push 0x67
jmp 0x43bfcc
push 0x61
jmp 0x43bfcc
push 0x63
jmp 0x43bfcc
push 0x69
jmp 0x43bfcc
push 0x65
jmp 0x43bfcc
push 0x64
jmp 0x43bfcc
sub ecx, 0x26
je 0x43bfca
dec ecx
je 0x43bfc6
dec ecx
je 0x43bfc2
sub ecx, 5
je 0x43bfbe
dec ecx
jne 0x43bfdc
push 0x6e
jmp 0x43bfcc
push 0x60
jmp 0x43bfcc
push 0x62
jmp 0x43bfcc
push 0x66
jmp 0x43bfcc
push 0x68
test byte [ebp - 0x90], 1
pop ecx
je 0x43bfd9
or edx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0x20], edi
je 0x43c80e
test byte [ebp - 0x7b], 0x80
jne 0x43c80e
test eax, eax
jne 0x43c80e
mov eax, dword [ebp - 8]
test eax, eax
je 0x43c00a
mov edi, dword [ebp + 0xc]
mov byte [edi], 0x1b
inc edi
mov dword [ebp - 4], edi
jmp 0x43c00d
mov edi, dword [ebp - 4]
mov esi, dword [ebp + 8]
cmp esi, 0x21
mov ebx, dword [0x46ee5c]
jne 0x43c045
cmp edx, 1
jne 0x43c03a
push 0
push 2
push 0x115
push dword [0x46fcbc]
call dword [0x450418]
jmp 0x43cb0e
cmp edx, 2
jne 0x43c07b
push 0
push 0
jmp 0x43c024
cmp esi, 0x22
jne 0x43c060
cmp edx, 1
jne 0x43c055
push 0
push 3
jmp 0x43c024
cmp edx, 2
jne 0x43c07b
push 0
push 1
jmp 0x43c024
cmp esi, 0x2d
jne 0x43c07b
cmp edx, 1
jne 0x43c07b
push dword [0x46d664]
call fcn.0042e407
pop ecx
jmp 0x43cb0e
xor ecx, ecx
cmp eax, ecx
je 0x43c0e7
cmp esi, 0x73
jne 0x43c096
cmp dword [0x46ee98], ecx
je 0x43c102
or eax, 0xffffffff
pop edi
pop esi
pop ebx
leave
ret
cmp esi, 0x20
jne 0x43c0bd
cmp dword [0x46ee9c], ecx
je 0x43c102
push 0
push 0xf100
push 0x112
push dword [0x46fcbc]
call dword [0x450418]
jmp 0x43c08e
cmp esi, 0xd
jne 0x43c0e7
cmp dword [0x46eeb0], ecx
je 0x43c102
cmp dword [0x46f104], 1
je 0x43c102
mov eax, dword [ebp - 0xc]
and ax, 0xc000
cmp ax, 0x4000
je 0x43c08e
call fcn.0043ba00
jmp 0x43c08e
cmp esi, 0x13
jne 0x43c102
cmp edx, 2
jne 0x43c102
mov eax, dword [0x46d664]
xor dword [eax + 0x144], 1
jmp 0x43cb0e
cmp dword [0x46ee8c], ecx
je 0x43c186
cmp eax, ecx
jne 0x43c2fc
lea eax, [esi - 0x61]
cmp eax, 8
ja case.default.0x43c11a
jmp dword [eax*4 + 0x43cb15]
and edx, 3
mov al, byte [edx + 0x46364c]
mov byte [edi], al
jmp 0x43c40e
and edx, 3
mov al, byte [edx + str.jJ_n_n]
jmp 0x43c12a
and edx, 3
mov al, byte [edx + 0x46363c]
jmp 0x43c12a
and edx, 3
mov al, byte [edx + str.hH_b_b]
jmp 0x43c12a
mov byte [edi], 0x2e
jmp 0x43c40e
and edx, 3
mov al, byte [edx + str.lL_f_f]
jmp 0x43c12a
and edx, 3
mov al, byte [edx + 0x463624]
jmp 0x43c12a
and edx, 3
mov al, byte [edx + str.kK_v_v]
jmp 0x43c12a
and edx, 3
mov al, byte [edx + 0x463614]
jmp 0x43c12a
cmp eax, ecx
jne 0x43c2fc
xor ecx, ecx
cmp ebx, 3
je 0x43c1af
cmp ebx, 1
jg 0x43c1d3
mov eax, dword [0x46d664]
cmp dword [eax + 0x144], ecx
je 0x43c1d3
cmp dword [0x46ee64], ecx
jne 0x43c1d3
mov eax, esi
sub eax, 0x2b
je 0x43c1d0
sub eax, 0x3f
je 0x43c1cc
sub eax, 3
je 0x43c1c8
dec eax
dec eax
jne 0x43c1d3
push 0x51
jmp 0x43c1d2
push 0x53
jmp 0x43c1d2
push 0x52
jmp 0x43c1d2
push 0x50
pop ecx
mov eax, dword [0x46d664]
cmp dword [eax + 0x144], 0
je 0x43c2b6
cmp dword [0x46ee64], 0
jne 0x43c2b6
cmp esi, 0x67
ja 0x43c25a
je 0x43c256
cmp esi, 0x63
ja 0x43c23d
je 0x43c239
mov eax, esi
sub eax, 0xd
je 0x43c22b
sub eax, 0x53
je 0x43c224
dec eax
je 0x43c21d
dec eax
jne 0x43c2b6
push 0x72
jmp 0x43c2b0
push 0x71
jmp 0x43c2b0
push 0x70
jmp 0x43c2b0
test byte [ebp - 0xb], 1
je 0x43c2b6
push 0x4d
jmp 0x43c2b5
push 0x73
jmp 0x43c2b0
mov eax, esi
sub eax, 0x64
je 0x43c252
dec eax
je 0x43c24e
dec eax
jne 0x43c2b6
push 0x76
jmp 0x43c2b0
push 0x75
jmp 0x43c2b0
push 0x74
jmp 0x43c2b0
push 0x77
jmp 0x43c2b0
mov eax, esi
sub eax, 0x68
je 0x43c2b3
dec eax
je 0x43c2ae
dec eax
je 0x43c2a5
dec eax
je 0x43c28a
dec eax
dec eax
je 0x43c281
dec eax
je 0x43c27d
dec eax
jne 0x43c2b6
cmp ebx, 2
jne 0x43c2b6
push 0x6f
jmp 0x43c2b5
push 0x6e
jmp 0x43c2b0
cmp ebx, 2
jne 0x43c2b6
push 0x6d
jmp 0x43c2b5
xor ecx, ecx
cmp ebx, 2
jne 0x43c29b
test edx, edx
setne cl
add ecx, 0x6b
jmp 0x43c2ba
test edx, edx
setne cl
add ecx, 0x6c
jmp 0x43c2ba
cmp ebx, 2
jne 0x43c2b6
push 0x6a
jmp 0x43c2b5
push 0x79
pop ecx
jmp 0x43c2ba
push 0x78
pop ecx
test ecx, ecx
je 0x43c2fa
mov eax, dword [0x46d664]
cmp dword [eax + 0x148], 0
je 0x43c2e2
cmp ecx, 0x50
jl 0x43c2da
cmp ecx, 0x53
jg 0x43c2da
push ecx
push 0x461184
jmp 0x43c2e8
push ecx
push str.e__c
jmp 0x43c2e8
push ecx
push str.eO_c
push edi
call fcn.00444a88
add esp, 0xc
add edi, eax
mov eax, edi
jmp 0x43c7c8
xor ecx, ecx
cmp esi, 8
jne 0x43c335
cmp edx, ecx
jne 0x43c31f
cmp dword [0x46ee54], ecx
sete al
dec al
and al, 0x77
add al, 8
mov byte [edi], al
mov byte [edi + 1], 0
jmp 0x43c7de
cmp edx, 1
jne 0x43c3a3
cmp dword [0x46ee54], ecx
sete al
dec al
and al, 0x89
add al, 0x7f
jmp 0x43c314
cmp esi, 9
jne 0x43c34f
cmp edx, 1
jne 0x43c3a3
mov byte [edi], 0x1b
inc edi
mov byte [edi], 0x5b
inc edi
mov byte [edi], 0x5a
jmp 0x43c40e
cmp esi, 0x20
jne 0x43c36e
cmp edx, 2
jne 0x43c361
mov byte [edi], 0
jmp 0x43c40e
cmp edx, 3
jne 0x43c3a3
mov byte [edi], 0xa0
jmp 0x43c40e
cmp esi, 3
jne 0x43c396
cmp edx, 2
jne 0x43c3df
mov eax, dword [0x46bac4]
cmp eax, ecx
je 0x43cb0e
push 1
push dword [0x46b79c]
call dword [eax + 0x18]
pop ecx
jmp 0x43c075
cmp esi, 0x13
jne 0x43c3a3
mov byte [edi], 0x1a
jmp 0x43c316
cmp edx, 2
jne 0x43c3df
cmp esi, 0x32
jb 0x43c3bd
cmp esi, 0x38
ja 0x43c3bd
mov al, byte [esi + 0x4635da]
jmp 0x43c12a
cmp esi, 0xbd
je 0x43c3cd
cmp esi, 0xbf
jne 0x43c3d2
mov byte [edi], 0x1f
jmp 0x43c40e
cmp esi, 0xdf
jne 0x43c419
mov byte [edi], 0x1c
jmp 0x43c40e
cmp edx, 3
jne 0x43c3f1
cmp esi, 0xde
jne 0x43c419
mov byte [edi], 0x1e
jmp 0x43c40e
cmp edx, ecx
jne 0x43c419
cmp esi, 0xd
jne 0x43c419
mov eax, dword [0x46d664]
cmp dword [eax + 0x150], ecx
je 0x43c419
mov byte [edi], 0xd
inc edi
mov byte [edi], 0xa
mov eax, edi
sub eax, dword [ebp + 0xc]
inc eax
jmp 0x43c091
lea ecx, [esi - 0x70]
xor eax, eax
cmp ecx, 0x13
push 0xb
mov dword [ebp - 0x18], ecx
pop edi
ja case.default.0x43c42d
jmp dword [ecx*4 + 0x43cb39]
mov al, byte [ebp - 0x110]
and al, 0x80
neg al
sbb eax, eax
and eax, 0xc
add eax, edi
jmp case.default.0x43c42d
mov al, byte [ebp - 0x110]
and al, 0x80
neg al
sbb eax, eax
and eax, 0xc
add eax, 0xc
jmp case.default.0x43c42d
mov al, byte [ebp - 0x110]
and al, 0x80
neg al
sbb eax, eax
and eax, 0xc
add eax, 0xd
jmp case.default.0x43c42d
mov al, byte [ebp - 0x110]
and al, 0x80
neg al
sbb eax, eax
and eax, 0xc
add eax, 0xe
jmp case.default.0x43c42d
mov al, byte [ebp - 0x110]
and al, 0x80
neg al
sbb eax, eax
and eax, 0xd
add eax, 0xf
jmp case.default.0x43c42d
mov al, byte [ebp - 0x110]
and al, 0x80
neg al
sbb eax, eax
and eax, 0xc
add eax, 0x11
jmp case.default.0x43c42d
mov al, byte [ebp - 0x110]
and al, 0x80
neg al
sbb eax, eax
and eax, 0xd
add eax, 0x12
jmp case.default.0x43c42d
mov al, byte [ebp - 0x110]
and al, 0x80
neg al
sbb eax, eax
and eax, 0xd
add eax, 0x13
jmp case.default.0x43c42d
mov al, byte [ebp - 0x110]
and al, 0x80
neg al
sbb eax, eax
and eax, 0xd
add eax, 0x14
jmp case.default.0x43c42d
mov al, byte [ebp - 0x110]
and al, 0x80
neg al
sbb eax, eax
and eax, 0xd
add eax, 0x15
jmp case.default.0x43c42d
push 0x17
jmp 0x43c530
push 0x18
jmp 0x43c530
push 0x19
jmp 0x43c530
push 0x1a
jmp 0x43c530
push 0x1c
jmp 0x43c530
push 0x1d
jmp 0x43c530
push 0x1f
jmp 0x43c530
push 0x20
jmp 0x43c530
push 0x21
jmp 0x43c530
push 0x22
pop eax
test dl, 2
push 6
pop ebx
jne 0x43c56a
mov ecx, dword [ebp + 8]
sub ecx, 0x21
je 0x43c567
dec ecx
je 0x43c563
dec ecx
je 0x43c55f
dec ecx
je 0x43c55a
sub ecx, 9
je 0x43c556
dec ecx
jne 0x43c56a
push 3
jmp 0x43c569
push 2
jmp 0x43c569
xor eax, eax
inc eax
jmp 0x43c56a
push 4
jmp 0x43c569
mov eax, ebx
jmp 0x43c56a
push 5
pop eax
cmp dword [0x46ee5c], 3
jne 0x43c57e
cmp eax, ebx
jg 0x43c57e
movsx eax, byte [eax + 0x463604]
mov ecx, dword [0x46d664]
mov esi, dword [ecx + 0x148]
test esi, esi
je 0x43c5a8
test eax, eax
jle 0x43c5a8
cmp eax, ebx
jg 0x43c5a8
movsx eax, byte [eax + str._HLMEIG]
push eax
push 0x461184
jmp 0x43c72d
cmp dword [0x46ee5c], 5
jne 0x43c67f
cmp eax, edi
jl 0x43c63f
cmp eax, 0x22
jg 0x43c63f
push 0xc
pop ecx
mov esi, str.MNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_____
lea edi, [ebp - 0x154]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x18]
xor eax, eax
cmp ecx, 0xb
movsb byte es:[edi], byte [esi]
ja case.default.0x43c5dd
jmp dword [ecx*4 + 0x43cb89]
xor eax, eax
jmp case.default.0x43c5dd
xor eax, eax
inc eax
jmp case.default.0x43c5dd
push 2
jmp 0x43c613
push 3
jmp 0x43c613
push 4
jmp 0x43c613
push 5
jmp 0x43c613
mov eax, ebx
jmp case.default.0x43c5dd
push 7
jmp 0x43c613
push 8
jmp 0x43c613
push 9
jmp 0x43c613
push 0xa
jmp 0x43c613
push 0xb
pop eax
test byte [ebp - 0x110], 0x80
je 0x43c620
add eax, 0xc
test byte [ebp - 0x10f], 0x80
je 0x43c62c
add eax, 0x18
movsx eax, byte [ebp + eax - 0x154]
push eax
push 0x46116c
jmp 0x43c72d
cmp eax, 1
jl 0x43c67f
cmp eax, ebx
jg 0x43c67f
cmp eax, 3
mov esi, str.HL.FIG
lea edi, [ebp - 0x18]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 4]
jne 0x43c662
mov byte [esi], 0x7f
inc esi
jmp 0x43c678
movsx eax, byte [ebp + eax - 0x19]
push eax
push 0x46116c
push esi
call fcn.00444a88
add esp, 0xc
add esi, eax
mov eax, esi
jmp 0x43c7c8
xor ebx, ebx
cmp esi, ebx
jne 0x43c68e
cmp dword [0x46ee5c], 4
jne 0x43c6c3
cmp eax, edi
jl 0x43c6c3
cmp eax, 0x18
jg 0x43c6c3
xor ecx, ecx
cmp eax, 0xf
jle 0x43c69f
inc ecx
cmp eax, 0x15
jle 0x43c6a5
inc ecx
sub eax, ecx
add eax, 0x45
test esi, esi
push eax
je 0x43c6b9
push 0x461184
jmp 0x43c7b7
push str.eO_c
jmp 0x43c7b7
mov ecx, dword [0x46ee5c]
cmp ecx, 1
jne 0x43c6e2
cmp eax, edi
jl 0x43c6f7
cmp eax, 0xf
jg 0x43c6f7
add eax, 0x36
push eax
push str.e___c
jmp 0x43c72d
cmp ecx, 2
jne 0x43c6f7
cmp eax, edi
jl 0x43c6f7
cmp eax, 0xe
jg 0x43c6f7
add eax, 0x45
cmp esi, ebx
jmp 0x43c6ac
cmp dword [0x46ee58], ebx
je 0x43c723
cmp eax, 1
je 0x43c71c
cmp eax, 4
jne 0x43c723
mov eax, 0x461168
mov esi, dword [ebp - 4]
push eax
push esi
call fcn.00444a88
pop ecx
pop ecx
jmp 0x43c739
mov eax, 0x461164
jmp 0x43c70e
cmp eax, ebx
je 0x43c743
push eax
push str.e__d
mov esi, dword [ebp - 4]
push esi
call fcn.00444a88
add esp, 0xc
sub esi, dword [ebp + 0xc]
add eax, esi
jmp 0x43c091
mov ecx, dword [ebp + 8]
mov eax, ecx
sub eax, 0xc
je 0x43c76b
sub eax, 0x19
je 0x43c767
dec eax
je 0x43c763
dec eax
je 0x43c75f
dec eax
jne 0x43c7d0
mov cl, 0x42
jmp 0x43c76d
mov cl, 0x43
jmp 0x43c76d
mov cl, 0x41
jmp 0x43c76d
mov cl, 0x44
jmp 0x43c76d
mov cl, 0x47
test esi, esi
je 0x43c77a
movsx eax, cl
push eax
jmp 0x43c6af
mov eax, dword [0x46d664]
cmp dword [eax + 0x140], 0
je 0x43c796
cmp dword [0x46ee60], 0
jne 0x43c796
xor eax, eax
inc eax
jmp 0x43c798
xor eax, eax
cmp edx, 2
jne 0x43c7a6
xor edx, edx
test eax, eax
sete dl
mov eax, edx
test eax, eax
movsx eax, cl
push eax
jne 0x43c6b9
push 0x46116c
push dword [ebp - 4]
call fcn.00444a88
add esp, 0xc
add dword [ebp - 4], eax
mov eax, dword [ebp - 4]
sub eax, dword [ebp + 0xc]
jmp 0x43c091
cmp ecx, 0xd
jne 0x43c7e6
mov eax, dword [ebp - 4]
mov byte [eax], cl
mov byte [eax + 1], 0
push 0xfffffffffffffffe
pop eax
jmp 0x43c091
cmp dword [ebp - 8], ebx
je 0x43c808
cmp ecx, 0x60
jb 0x43c808
cmp ecx, 0x69
ja 0x43c808
mov eax, dword [0x46cb08]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2 - 0x60]
mov dword [0x46cb08], eax
jmp 0x43c80e
mov dword [0x46cb08], ebx
xor eax, eax
cmp dword [0x46f710], eax
mov dword [ebp - 0x18], eax
je 0x43c834
cmp byte [ebp - 0x10c], al
je 0x43c834
xor ecx, ecx
cmp dword [ebp - 8], eax
mov byte [ebp - 0x10c], al
sete cl
mov dword [ebp - 0x18], ecx
cmp dword [0x46d5d0], 2
push dword [ebp - 0x1c]
jne 0x43c874
xor edi, edi
push edi
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x120]
push eax
push dword [ebp - 0x10]
push dword [ebp + 8]
call dword [0x450320]
mov ebx, eax
xor eax, eax
movzx cx, byte [ebp + eax + 0xc]
mov word [eax*2 + 0x46c60c], cx
inc eax
cmp eax, 3
jl 0x43c85e
jmp 0x43c892
push 0
push 0x46c60c
lea eax, [ebp - 0x120]
push eax
push dword [ebp - 0x10]
push dword [ebp + 8]
call dword [0x450320]
mov ebx, eax
xor edi, edi
cmp ebx, edi
jle 0x43cab4
push dword [0x46d664]
call fcn.0042d79c
xor esi, esi
cmp ebx, edi
pop ecx
jle 0x43caa1
mov ecx, dword [0x46cabc]
cmp ecx, 2
mov al, byte [esi*2 + 0x46c60c]
mov byte [ebp + 0xf], al
jne 0x43c8e4
test al, al
js 0x43c943
cmp al, 0x20
jbe 0x43c943
movzx eax, al
mov dword [0x46cb0c], eax
mov dword [0x46cabc], 3
jmp 0x43ca98
cmp ecx, 3
jne 0x43c943
test al, al
js 0x43c943
cmp al, 0x20
jbe 0x43c943
movzx eax, al
push eax
push dword [0x46cb0c]
mov dword [0x46cabc], edi
call fcn.00442dce
cmp eax, 0xffffffff
pop ecx
pop ecx
je 0x43caaa
push dword [0x46d664]
mov dword [ebp - 0xc], eax
call fcn.0042e26d
mov eax, dword [0x46bad8]
cmp eax, edi
pop ecx
je 0x43ca98
push 1
push 1
lea ecx, [ebp - 0xc]
push ecx
push eax
call fcn.00407960
add esp, 0x10
jmp 0x43ca98
cmp dword [ebp - 0x20], edi
mov dword [0x46cabc], edi
jne 0x43c9f7
mov ecx, dword [0x46cb08]
cmp ecx, edi
je 0x43c9d2
mov eax, dword [0x46d664]
cmp dword [eax + 0xdc], edi
jne 0x43c9a3
mov edx, dword [eax + 0x108c]
cmp dword [edx + 0xc], 0xfde9
je 0x43c9a3
cmp dword [0x46bae4], edi
jne 0x43c9a3
push eax
mov byte [ebp + 0xf], cl
call fcn.0042e26d
mov eax, dword [0x46bad8]
cmp eax, edi
pop ecx
je 0x43c9c7
push 1
push 1
lea ecx, [ebp + 0xf]
push ecx
push eax
call fcn.0040726c
jmp 0x43c9c4
push eax
mov dword [ebp - 0xc], ecx
call fcn.0042e26d
mov eax, dword [0x46bad8]
cmp eax, edi
pop ecx
je 0x43c9c7
push 1
push 1
lea ecx, [ebp - 0xc]
push ecx
push eax
call fcn.00407960
add esp, 0x10
mov dword [0x46cb08], edi
jmp 0x43ca91
push dword [0x46d664]
call fcn.0042e26d
mov eax, dword [0x46bad8]
cmp eax, edi
pop ecx
je 0x43ca91
push 1
push 1
lea ecx, [ebp + 0xf]
jmp 0x43ca81
cmp dword [ebp - 0x18], edi
je 0x43ca4d
cmp al, 0x80
jae 0x43ca4d
movzx eax, al
push eax
mov word [ebp - 0x10], 0x1b
call fcn.00442d2c
push dword [0x46d664]
mov word [ebp - 0xe], ax
call fcn.0042e26d
mov eax, dword [0x46bad8]
cmp eax, edi
pop ecx
pop ecx
je 0x43ca91
xor ecx, ecx
cmp dword [ebp - 8], edi
push 1
setne cl
inc ecx
push ecx
xor ecx, ecx
cmp dword [ebp - 8], edi
sete cl
lea ecx, [ebp + ecx*2 - 0x10]
push ecx
push eax
call fcn.00407960
add esp, 0x10
jmp 0x43ca91
push dword [0x46d664]
mov byte [ebp - 2], 0x1b
mov byte [ebp - 1], al
call fcn.0042e26d
mov eax, dword [0x46bad8]
cmp eax, edi
pop ecx
je 0x43ca91
xor ecx, ecx
cmp dword [ebp - 8], edi
push 1
setne cl
inc ecx
push ecx
xor ecx, ecx
cmp dword [ebp - 8], edi
sete cl
lea ecx, [ebp + ecx - 2]
push ecx
push dword [0x46b6c0]
push eax
call fcn.00407a61
add esp, 0x14
xor eax, eax
call fcn.0043933c
inc esi
cmp esi, ebx
jl 0x43c8b0
mov word [0x46c60c], di
jmp 0x43cb0e
push 0x10
call dword [0x450408]
jmp 0x43cb0e
cmp dword [ebp - 8], edi
jne 0x43cac2
mov word [0x46c60c], di
jmp 0x43caf8
cmp word [0x46c60c], di
je 0x43caf8
mov eax, dword [0x46d664]
cmp dword [eax + 0xdc], edi
jne 0x43caef
mov eax, dword [eax + 0x108c]
cmp dword [eax + 0xc], 0xfde9
je 0x43caef
cmp dword [0x46bae4], edi
je 0x43caf8
mov word [0x46c60c], 0xa
cmp dword [ebp + 8], 0x12
jne 0x43c08e
cmp dword [0x46eea0], edi
jne 0x43c08e
xor eax, eax
jmp 0x43c091