Function at 0x437600
Capabilities:
Enumerate pe sections

Disassembly:
mov eax, 0x1818
call fcn.004e3510
mov eax, dword [0x514bc0]
xor eax, esp
mov dword [esp + 0x1814], eax
push esi
mov esi, dword [esp + 0x1820]
push edi
push esi
mov edi, ecx
call fcn.0047cb40
test al, al
jne 0x437b0a
movzx eax, word [esi]
push ebx
push ebp
push eax
call sub.USER32.dll_CharUpperW
add eax, 0xffffffc0
cmp eax, 0x1a
ja case.0x437682.69
jmp dword [eax*4 + 0x4387fc]
xor ecx, ecx
cmp word [esi + 2], 0x2b
sete cl
inc ecx
mov dword [edi + 0xa3e4], ecx
jmp case.0x437682.78
movzx edx, word [esi + 2]
push edx
call sub.USER32.dll_CharUpperW
add eax, 0xffffffbd
cmp eax, 0x13
ja case.0x437682.69
movzx eax, byte [eax + 0x43888c]
jmp dword [eax*4 + 0x438868]
mov byte [edi + 0x6150], 1
jmp case.0x437682.78
mov byte [edi + 0x73a0], 1
jmp case.0x437682.78
cmp word [esi + 4], 0x2d
lea eax, [esi + 4]
jne 0x4376be
cmp word [esi + 6], 0
jne 0x4376be
mov byte [edi + 0x61b0], 0
jmp case.0x437682.78
push 0x80
mov byte [edi + 0x61b0], 1
push eax
add edi, 0x61b2
push edi
call fcn.00467570
jmp case.0x437682.78
mov byte [edi + 0x62b6], 1
jmp case.0x437682.78
mov byte [edi + 0x6151], 1
jmp case.0x437682.78
lea eax, [esi + 4]
sub edi, eax
lea edx, [edi + 0x4024]
nop
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x437700
jmp case.0x437682.78
mov byte [edi + 0x62b2], 1
jmp case.0x437682.78
cmp word [esi + 4], 0
jne case.0x437682.78
movzx ecx, word [esi + 2]
push ecx
call sub.USER32.dll_CharUpperW
cmp eax, 0x2d
je 0x437766
cmp eax, 0x4c
je 0x437757
cmp eax, 0x55
jne case.0x437682.78
mov dword [edi + 0x6184], 1
jmp case.0x437682.78
mov dword [edi + 0x6184], 2
jmp case.0x437682.78
mov byte [edi + 0x6152], 1
jmp case.0x437682.78
cmp word [esi + 4], 0
jne case.0x437682.78
movzx edx, word [esi + 2]
push edx
call sub.USER32.dll_CharUpperW
add eax, 0xffffffba
cmp eax, 0x11
ja case.0x437682.78
movzx eax, byte [eax + 0x4388b8]
jmp dword [eax*4 + 0x4388a0]
mov byte [edi + 0x617d], 1
jmp case.0x437682.78
mov byte [edi + 0x6195], 1
jmp case.0x437682.78
mov byte [edi + 0x6196], 1
jmp case.0x437682.78
mov byte [edi + 0x6196], 1
mov byte [edi + 0x6199], 1
jmp case.0x437682.78
mov byte [edi + 0x6196], 1
mov byte [edi + 0x619a], 1
jmp case.0x437682.78
movzx ecx, word [esi + 2]
lea ebx, [esi + 2]
push ecx
call sub.USER32.dll_CharUpperW
sub eax, 0x4e
je 0x437887
sub eax, 2
je 0x437830
cmp word [ebx], 0x2b
mov ecx, edi
jne 0x437823
add esi, 4
push esi
call fcn.00436f00
or dword [edi + 4], eax
mov byte [edi + 8], 1
jmp case.0x437682.78
push ebx
call fcn.00436f00
or dword [edi], eax
jmp case.0x437682.78
movzx eax, word [esi + 4]
cmp eax, 0x33
ja case.0x437682.78
movzx edx, byte [eax + 0x4388e0]
jmp dword [edx*4 + 0x4388cc]
mov dword [edi + 0x6158], 1
jmp case.0x437682.78
mov dword [edi + 0x6158], 2
jmp case.0x437682.78
mov dword [edi + 0x6158], 3
jmp case.0x437682.78
mov dword [edi + 0x6158], 4
jmp case.0x437682.78
mov byte [edi + 0x619b], 1
jmp case.0x437682.78
cmp word [esi + 2], 0
jne case.0x437682.69
mov byte [edi + 0x6153], 1
jmp case.0x437682.78
movzx eax, word [esi + 2]
push eax
call sub.USER32.dll_CharUpperW
cmp eax, 0x50
je 0x4378f8
cmp eax, 0x54
jne case.0x437682.69
movzx ecx, word [esi + 4]
push ecx
call sub.USER32.dll_CharUpperW
sub eax, 0x42
je 0x4378e9
sub eax, 1
jne case.0x437682.69
mov dword [edi + 0x6138], 2
jmp case.0x437682.78
mov dword [edi + 0x6138], 3
jmp case.0x437682.78
lea ecx, [edi + 0x5126]
lea eax, [esi + 4]
mov byte [ecx], 1
cmp word [eax], 0
je 0x43793e
push eax
lea ecx, [edi + 0x5024]
call fcn.00464ad0
mov eax, esi
lea edx, [eax + 2]
jmp 0x437920
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x437920
sub eax, edx
sar eax, 1
lea edx, [eax + eax]
push edx
push esi
call fcn.00464a50
jmp case.0x437682.78
cmp byte [edi + 0x5124], 0
jne case.0x437682.78
push ecx
add edi, 0x5024
push edi
call fcn.00477710
jmp case.0x437682.78
push 3
push 0x4fecac
lea ebx, [esi + 2]
push ebx
call fcn.0046a970
test eax, eax
jne 0x437997
cmp word [esi + 8], 0
lea eax, [esi + 8]
jne 0x437980
mov eax, 0x4fec9c
push 0x800
push eax
add edi, 0x5128
push edi
call fcn.00467570
jmp case.0x437682.78
push 0x4fec94
push ebx
call fcn.0046a940
test eax, eax
jne 0x4379b2
mov byte [edi + 0x612c], 1
jmp case.0x437682.78
push 0x4fec8c
push ebx
call fcn.0046a940
test eax, eax
jne 0x4379d0
mov dword [edi + 0x6128], 1
jmp case.0x437682.78
push 3
push 0x4fec84
push ebx
call fcn.0046a970
test eax, eax
jne 0x437a07
cmp word [esi + 8], 0
lea eax, [esi + 8]
jne 0x4379f0
mov eax, 0x4fec80
push 0x800
push eax
add edi, 0x639c
push edi
call fcn.00467570
jmp case.0x437682.78
push 0x4fec78
push ebx
call fcn.0046a940
test eax, eax
jne 0x437a25
mov dword [edi + 0x6128], 3
jmp case.0x437682.78
movzx eax, word [ebx]
push eax
call sub.USER32.dll_CharUpperW
cmp eax, 0x44
jne 0x437a9d
cmp word [esi + 4], 0
lea eax, [esi + 4]
mov ebp, 2
mov ebx, ebp
je case.0x437682.78
jmp 0x437a50
movzx ecx, word [eax]
push ecx
call sub.USER32.dll_CharUpperW
add eax, 0xffffffbd
cmp eax, 0xe
ja case.0x437a68.69
movzx edx, byte [eax + 0x438928]
jmp dword [edx*4 + 0x438914]
mov dword [edi + 0x6128], ebp
jmp case.0x437a68.69
mov byte [edi + 0x6145], 1
jmp case.0x437a68.69
mov byte [edi + 0x6146], 1
jmp case.0x437a68.69
mov byte [edi + 0x6144], 1
inc ebx
cmp word [esi + ebx*2], 0
lea eax, [esi + ebx*2]
jne 0x437a50
jmp case.0x437682.78
push 0x4fec70
push ebx
call fcn.0046a940
test eax, eax
jne case.0x437682.78
mov byte [edi + 0x73a1], 1
jmp case.0x437682.78
movzx eax, word [esi + 2]
push eax
call sub.USER32.dll_CharUpperW
test eax, eax
je 0x437ad1
cmp eax, 0x42
jne case.0x437682.78
mov byte [edi + 0x6194], 1
jmp case.0x437682.78
mov byte [edi + 0x62d8], 1
jmp case.0x437682.78
push 2
push 0x4fec68
lea ecx, [esi + 2]
push ecx
call fcn.0046a970
test eax, eax
jne case.0x437682.78
lea edx, [esi + 6]
push edx
mov ecx, 0x52c148
call fcn.00446c10
test al, al
jne case.0x437682.78
push esi
mov ecx, edi
call fcn.004371a0
pop ebp
pop ebx
mov ecx, dword [esp + 0x181c]
pop edi
pop esi
xor ecx, esp
call fcn.004e34f4
add esp, 0x1818
ret 4
movzx eax, word [esi + 2]
push eax
call sub.USER32.dll_CharUpperW
add eax, 0xffffffbf
cmp eax, 0x13
ja case.0x437b40.66
movzx ecx, byte [eax + 0x438954]
jmp dword [ecx*4 + 0x438938]
movzx eax, word [esi + 4]
test ax, ax
je 0x437b60
cmp ax, 0x35
je 0x437b60
xor eax, eax
mov byte [edi + 0x6197], al
jmp case.0x437682.78
mov eax, 1
mov byte [edi + 0x6197], al
jmp case.0x437682.78
movzx eax, word [esi + 4]
add esi, 4
cmp ax, 0x2d
jne 0x437ba3
lea eax, [edi + 0x62dc]
mov ecx, 0x10
jmp 0x437b90
mov dword [eax], 3
add eax, 0xc
sub ecx, 1
jne 0x437b90
jmp case.0x437682.78
test ax, ax
je case.0x437682.78
lea esp, [esp]
xor ecx, ecx
movzx edx, ax
push edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ecx
lea ebx, [ecx + 1]
lea ebp, [ecx + 8]
call fcn.00467210
test al, al
je 0x437bf5
push esi
call fcn.0046ac00
mov dword [esp + 0x14], eax
movzx eax, word [esi]
push eax
call fcn.00467210
test al, al
je 0x437bf5
movzx ecx, word [esi + 2]
add esi, 2
push ecx
call fcn.00467210
test al, al
jne 0x437be4
cmp word [esi], 0x3a
jne 0x437c34
movzx edx, word [esi + 2]
push edx
call fcn.00467210
test al, al
je 0x437c34
add esi, 2
push esi
call fcn.0046ac00
mov dword [esp + 0x18], eax
movzx eax, word [esi]
push eax
call fcn.00467210
test al, al
je 0x437c34
movzx ecx, word [esi + 2]
add esi, 2
push ecx
call fcn.00467210
test al, al
jne 0x437c23
movzx eax, word [esi]
push eax
call sub.USER32.dll_CharUpperW
sub eax, 0x41
add esi, 2
cmp eax, 0x13
ja case.0x437c4f.66
movzx edx, byte [eax + 0x438988]
jmp dword [edx*4 + 0x438968]
mov ebp, 7
jmp case.0x437c4f.66
mov ebp, ebx
jmp case.0x437c4f.66
xor ebp, ebp
jmp case.0x437c4f.66
mov ebp, 4
jmp case.0x437c4f.66
mov ebp, 5
jmp case.0x437c4f.66
mov ebp, 6
jmp case.0x437c4f.66
mov ebp, 3
movzx eax, word [esi]
cmp ax, 0x2b
je 0x437c8e
cmp ax, 0x2d
jne 0x437ca1
add esi, 2
mov ebx, 2
cmp ax, 0x2b
je 0x437ca1
mov ebx, 3
mov edx, dword [esp + 0x14]
lea eax, [ebp + ebp*2 + 0x18b7]
lea ecx, [ebp + ebp*2]
mov dword [edi + eax*4], ebx
lea eax, [edi + ecx*4]
mov ecx, dword [esp + 0x18]
mov dword [eax + 0x62e0], edx
mov dword [eax + 0x62e4], ecx
movzx eax, word [esi]
test ax, ax
jne 0x437bb0
jmp case.0x437682.78
lea ebx, [esi + 4]
push ebx
call fcn.0046ac00
mov dword [edi + 0xc], eax
test eax, eax
jne 0x437d01
movzx edx, word [ebx]
push edx
call sub.USER32.dll_CharUpperW
mov ecx, eax
sub ecx, 0x41
mov eax, 0x10000
shl eax, cl
mov dword [edi + 0xc], eax
jmp 0x437d49
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x437d06
sub eax, edx
sar eax, 1
movzx ecx, word [esi + eax*2 - 2]
push ecx
call sub.USER32.dll_CharUpperW
cmp eax, 0x47
je 0x437d40
cmp eax, 0x4b
je 0x437d35
mov edx, dword [edi + 0xc]
shl edx, 0x14
mov dword [edi + 0xc], edx
jmp 0x437d49
mov eax, dword [edi + 0xc]
shl eax, 0xa
mov dword [edi + 0xc], eax
jmp 0x437d49
mov ecx, dword [edi + 0xc]
shl ecx, 0x1e
mov dword [edi + 0xc], ecx
cmp dword [edi + 0xc], 0x40000000
ja 0x437d5d
mov ecx, edi
call fcn.00437000
test al, al
jne 0x437d64
mov dword [edi + 0xc], 0x400000
mov edx, dword [edi + 0xc]
mov dword [edi + 0x83bc], edx
jmp case.0x437682.78
add esi, 4
cmp word [esi], 0
jne 0x437d80
mov esi, str.7z_ace_arj_bz2_cab_gz_jpeg_jpg_lha_lzh_mp3_rar_taz_tgz_xz_z_zip
push 0x400
push esi
lea eax, [esp + 0x2c]
push eax
call fcn.00467570
cmp word [esp + 0x24], 0
lea esi, [esp + 0x24]
je case.0x437682.78
add edi, 0xc57c
push 0x3b
push esi
call fcn.004e66b5
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x437dbc
xor ecx, ecx
mov word [ebx], cx
cmp word [esi], 0x2e
jne 0x437dc5
add esi, 2
push 0x4febe0
push esi
call fcn.004e6ded
add esp, 8
test eax, eax
jne 0x437df4
push esi
lea edx, [esp + 0x828]
push str.._ls
push edx
mov edx, 0x800
call fcn.00458640
add esp, 0xc
jmp 0x437e07
push 0x800
push esi
lea eax, [esp + 0x82c]
push eax
call fcn.00467570
lea ecx, [esp + 0x824]
push ecx
mov ecx, edi
call fcn.00467940
test ebx, ebx
je case.0x437682.78
cmp word [ebx + 2], 0
lea esi, [ebx + 2]
jne 0x437da6
jmp case.0x437682.78
lea edx, [esi + 4]
push edx
call fcn.0046ac00
mov dword [edi + 0x83b0], eax
cmp eax, 0x20
ja case.0x437682.69
cmp eax, 1
jb case.0x437682.69
mov byte [edi + 0x83b4], 1
jmp case.0x437682.78
movzx eax, word [esi + 2]
add eax, 0xffffffd0
cmp eax, 5
mov dword [edi + 0x6134], eax
jg case.0x437682.69
test eax, eax
jge case.0x437682.78
jmp case.0x437682.69
cmp word [esi + 2], 0
lea ebp, [esi + 2]
je case.0x437682.78
movzx eax, word [esi]
push eax
call sub.USER32.dll_CharUpperW
lea ebx, [edi + 0xc4c4]
cmp eax, 0x4e
je 0x437ea9
lea ebx, [edi + 0xc468]
cmp word [ebp], 0x40
jne 0x437eda
push esi
call fcn.004514a0
test al, al
jne 0x437eda
mov ecx, dword [edi + 0x401c]
push 1
push 1
push 1
push ecx
push 1
push 0
push ebx
add esi, 4
push esi
call fcn.00444fe0
jmp case.0x437682.78
push ebp
mov ecx, ebx
call fcn.00467940
jmp case.0x437682.78
movzx edx, word [esi + 2]
push edx
call sub.USER32.dll_CharUpperW
cmp eax, 0x57
ja case.0x437682.69
movzx eax, byte [eax + 0x4389c8]
jmp dword [eax*4 + 0x43899c]
mov dword [edi + 0x6130], 1
jmp case.0x437682.78
mov dword [edi + 0x6130], 2
jmp case.0x437682.78
mov dword [edi + 0x6130], 4
jmp case.0x437682.78
mov byte [edi + 0x62b5], 1
jmp case.0x437682.78
mov byte [edi + 0x618a], 1
jmp case.0x437682.78
movzx eax, word [esi + 4]
add esi, 4
sub eax, 0x2d
je 0x437f7b
sub eax, 3
je 0x437f7b
sub eax, 2
je 0x437f6f
mov dword [edi + 0x61a0], 1
jmp 0x437f85
mov dword [edi + 0x61a0], 2
jmp 0x437f85
mov dword [edi + 0x61a0], 0
push 0x3a
push esi
call fcn.004e66b5
add esp, 8
test eax, eax
je case.0x437682.78
add eax, 2
push eax
call fcn.0046aa80
mov dword [edi + 0x61a8], eax
mov dword [edi + 0x61ac], edx
jmp case.0x437682.78
mov byte [edi + 0x6189], 1
movzx ecx, word [esi + 4]
push ecx
call sub.USER32.dll_CharUpperW
cmp eax, 0x41
jne case.0x437682.78
mov byte [edi + 0x618b], 1
jmp case.0x437682.78
mov dword [edi + 0x6130], 3
jmp case.0x437682.78
mov byte [edi + 0x62b4], 1
jmp case.0x437682.78
mov byte [edi + 0x6188], 1
jmp case.0x437682.78
cmp word [esi + 2], 0
lea eax, [esi + 2]
jne 0x438021
lea edx, [edi + 0x5126]
push edx
add edi, 0x5024
push edi
call fcn.00477710
jmp case.0x437682.78
push eax
lea ecx, [edi + 0x5024]
call fcn.00464ad0
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x438032
sub eax, edx
sar eax, 1
add eax, eax
push eax
push esi
call fcn.00464a50
jmp case.0x437682.78
movzx ecx, word [esi + 2]
push ecx
call sub.USER32.dll_CharUpperW
cmp eax, 0x4f
jne case.0x437682.69
movzx edx, word [esi + 4]
push edx
call sub.USER32.dll_CharUpperW
sub eax, 0
je 0x438099
sub eax, 0x2b
je 0x43808a
sub eax, 2
jne case.0x437682.69
mov dword [edi + 0x2010], eax
jmp case.0x437682.78
mov dword [edi + 0x2010], 2
jmp case.0x437682.78
mov dword [edi + 0x2010], 1
jmp case.0x437682.78
movzx eax, word [esi + 2]
push eax
call sub.USER32.dll_CharUpperW
cmp eax, 0x56
ja case.0x437682.78
movzx ecx, byte [eax + 0x438a3c]
jmp dword [ecx*4 + 0x438a20]
mov dword [edi + 0x615c], 2
jmp case.0x437682.78
mov dword [edi + 0x615c], 1
jmp case.0x437682.78
mov dword [edi + 0x615c], 3
jmp case.0x437682.78
push 0xfffffffffffffffd
add esi, 4
push esi
mov ecx, edi
call fcn.00436fb0
mov dword [edi + 0x613c], eax
jmp case.0x437682.78
push 0xfffffffffffffff6
add esi, 4
push esi
mov ecx, edi
call fcn.00436fb0
mov dword [edi + 0x6140], eax
jmp case.0x437682.78
lea ebx, [esi + 4]
push ebx
call fcn.0046ac00
mov dword [edi + 0x618c], eax
test eax, eax
jl 0x43813e
cmp eax, 0xf
jle 0x438146
push esi
mov ecx, edi
call fcn.004371a0
push 0x3a
push ebx
call fcn.004e66b5
add esp, 8
test eax, eax
je 0x43817f
add eax, 2
push eax
call fcn.0046ac00
cmp eax, 0x3e8
mov dword [edi + 0x6190], eax
jle 0x438173
push esi
mov ecx, edi
call fcn.004371a0
mov edx, dword [edi + 0x6190]
push edx
call fcn.00467c30
mov eax, dword [edi + 0x618c]
push eax
call fcn.00467e20
jmp case.0x437682.78
push 3
push 0x4febcc
push esi
call fcn.0046a970
mov ebp, 1
test eax, eax
jne 0x4381f1
cmp word [esi + 6], ax
lea ebx, [esi + 6]
jne 0x4381b4
mov ebx, str.default.sfx
push ebx
call fcn.00451a10
cmp eax, ebx
jne 0x4381df
push ebx
call fcn.00443cc0
test al, al
jne 0x4381df
push 0
push ebp
push 0x800
lea ecx, [edi + 0x1010]
push ecx
push ebx
call fcn.00451e60
jmp 0x4381f1
push 0x800
push ebx
lea edx, [edi + 0x1010]
push edx
call fcn.00467570
movzx eax, word [esi + 2]
lea ebx, [esi + 2]
push eax
call fcn.00467210
test al, al
je 0x43821a
or dword [edi + 0x6148], 2
push ebx
call fcn.0046ac00
mov dword [edi + 0x614c], eax
jmp case.0x437682.78
movzx ecx, word [ebx]
push ecx
call sub.USER32.dll_CharUpperW
cmp eax, 0x56
ja case.0x437682.78
movzx edx, byte [eax + 0x438ab8]
jmp dword [edx*4 + 0x438a94]
or dword [edi + 0x6148], ebp
jmp case.0x437682.78
mov dword [edi + 0x6148], 0
jmp case.0x437682.78
or dword [edi + 0x6148], 4
jmp case.0x437682.78
xor eax, eax
cmp word [esi + 4], 0x2d
setne al
lea eax, [eax*8 + 8]
or dword [edi + 0x6148], eax
jmp case.0x437682.78
or dword [edi + 0x6148], 8
jmp case.0x437682.78
movzx ecx, word [esi + 4]
add esi, 4
push ecx
call fcn.00467210
test al, al
je case.0x437682.78
push esi
call fcn.0046aa80
mov dword [edi + 0x62c8], eax
mov dword [edi + 0x62cc], edx
jmp case.0x437682.78
movzx edx, word [esi + 4]
add esi, 4
push edx
call fcn.00467210
test al, al
je case.0x437682.78
push esi
call fcn.0046aa80
mov dword [edi + 0x62d0], eax
mov dword [edi + 0x62d4], edx
jmp case.0x437682.78
movzx eax, word [esi + 4]
push eax
mov byte [esp + 0x17], 0
call sub.USER32.dll_CharUpperW
cmp eax, 0x41
je 0x43830c
cmp eax, 0x4f
je 0x438307
cmp eax, 0x55
jne case.0x437682.69
lea ebp, [eax - 0x52]
jmp 0x43830c
mov ebp, 2
cmp word [esi + 6], 0
lea eax, [esi + 6]
jne 0x43832d
mov dword [edi + 0x4020], ebp
mov dword [edi + 0x401c], ebp
mov dword [edi + 0x4018], ebp
jmp case.0x437682.78
mov ebx, eax
nop
cmp byte [esp + 0x13], 0
jne case.0x437682.78
movzx ecx, word [ebx]
push ecx
call sub.USER32.dll_CharUpperW
cmp eax, 0x43
je 0x438372
cmp eax, 0x47
je 0x43836a
cmp eax, 0x4c
je 0x438362
push esi
mov ecx, edi
call fcn.004371a0
mov byte [esp + 0x13], 1
jmp 0x438378
mov dword [edi + 0x401c], ebp
jmp 0x438378
mov dword [edi + 0x4020], ebp
jmp 0x438378
mov dword [edi + 0x4018], ebp
add ebx, 2
cmp word [ebx], 0
jne 0x438330
jmp case.0x437682.78
movzx edx, word [esi + 2]
push edx
call sub.USER32.dll_CharUpperW
cmp eax, 0x53
ja case.0x437682.69
movzx eax, byte [eax + 0x438b38]
jmp dword [eax*4 + 0x438b10]
mov dword [edi + 0x6180], 1
jmp case.0x437682.78
mov dword [edi + 0x6180], 2
jmp case.0x437682.78
add esi, 4
push esi
lea ecx, [edi + 0x62b8]
call fcn.00468ed0
jmp case.0x437682.78
add esi, 4
push esi
lea ecx, [edi + 0x62c0]
call fcn.00468ed0
jmp case.0x437682.78
add esi, 4
push esi
lea ecx, [edi + 0x62b8]
call fcn.00468df0
jmp case.0x437682.78
add esi, 4
push esi
lea ecx, [edi + 0x62c0]
call fcn.00468df0
jmp case.0x437682.78
movzx eax, word [esi + 4]
mov ebx, 4
cmp ax, 0x30
jb 0x438494
cmp ax, 0x34
ja 0x438494
movzx ebx, ax
mov cl, 1
sub ebx, 0x30
cmp ax, 0x2d
jne 0x43843a
xor ebx, ebx
test cl, cl
jne 0x4384ae
cmp ax, 0x2d
je 0x4384ae
cmp ax, 0x2b
je 0x4384ae
test ax, ax
je 0x4384ae
movzx ecx, word [esi + 6]
cmp cx, 0x30
jb 0x438465
cmp cx, 0x34
ja 0x438465
movzx ebx, cx
sub ebx, 0x30
cmp cx, 0x2d
jne 0x43846d
xor ebx, ebx
movzx ecx, ax
push ecx
call sub.USER32.dll_CharUpperW
sub eax, 0x41
je 0x4384a3
sub eax, 2
je 0x438498
sub eax, 0xa
jne case.0x437682.78
mov dword [edi + 0x73a4], ebx
jmp case.0x437682.78
xor cl, cl
jmp 0x438432
mov dword [edi + 0x73a8], ebx
jmp case.0x437682.78
mov dword [edi + 0x73ac], ebx
jmp case.0x437682.78
mov dword [edi + 0x73ac], ebx
mov dword [edi + 0x73a8], ebx
mov dword [edi + 0x73a4], ebx
jmp case.0x437682.78
mov byte [edi + 0x62d9], 0
jmp case.0x437682.78
mov byte [edi + 0x62d9], 1
jmp case.0x437682.78
cmp word [esi + 2], 0
jne case.0x437682.69
mov byte [edi + 0x6154], 1
jmp case.0x437682.78
movzx edx, word [esi + 2]
push edx
call sub.USER32.dll_CharUpperW
add eax, 0xffffffd3
cmp eax, 0x23
ja case.0x43850d.46
movzx eax, byte [eax + 0x438ba4]
jmp dword [eax*4 + 0x438b8c]
mov byte [edi + 0x6198], 1
jmp case.0x437682.78
mov byte [edi + 0x619c], 1
jmp case.0x437682.78
mov byte [edi + 0x62da], 1
jmp case.0x437682.78
movzx ecx, word [esi + 4]
push ecx
call sub.USER32.dll_CharUpperW
cmp eax, 0x52
jne case.0x437682.78
add esi, 6
push esi
call fcn.0046ac00
inc eax
mov dword [edi + 0x739c], eax
jmp case.0x437682.78
xor eax, eax
mov dword [edi + 0x6160], eax
mov dword [edi + 0x6164], eax
jmp case.0x437682.78
xor eax, eax
cmp byte [edi + 0xa3e9], al
jne 0x43859b
lea ecx, [edi + 0x6168]
mov dword [edi + 0x6160], eax
mov dword [edi + 0x6164], eax
call fcn.00418e00
mov byte [edi + 0xa3e9], 1
xor ebx, ebx
lea eax, [esi + 2]
xor ebp, ebp
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x18], 1
cmp word [eax], bx
je 0x43864c
mov dword [esp + 0x14], eax
nop
mov edx, dword [esp + 0x14]
movzx eax, word [edx]
push eax
call fcn.00467210
test al, al
je 0x438611
push 0
push 0xa
push ebx
push ebp
call fcn.004e4480
mov ebx, edx
mov edx, dword [esp + 0x14]
mov ecx, eax
movzx eax, word [edx]
cdq
add ecx, eax
mov eax, dword [esp + 0x20]
push 0
adc ebx, edx
sub ecx, 0x30
push 0xa
mov ebp, ecx
mov ecx, dword [esp + 0x24]
push eax
push ecx
sbb ebx, 0
call fcn.004e4480
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
jmp 0x43862b
mov edx, dword [esp + 0x14]
cmp word [edx], 0x2e
jne 0x43862b
mov dword [esp + 0x1c], 1
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x18]
inc eax
cmp word [esi + eax*2], 0
mov dword [esp + 0x18], eax
lea eax, [esi + eax*2]
mov dword [esp + 0x14], eax
jne 0x4385c0
mov eax, ebp
or eax, ebx
jne 0x438658
mov ebp, SysReAllocString
mov ebx, ebp
jmp 0x438776
mov eax, esi
lea edx, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x438660
sub eax, edx
sar eax, 1
movzx eax, word [esi + eax*2 - 2]
add eax, 0xffffffbe
cmp eax, 0x2b
ja case.0x438687.67
movzx ecx, byte [eax + 0x438be8]
jmp dword [ecx*4 + 0x438bc8]
test ebx, ebx
jl case.0x438687.66
jg 0x4386a4
cmp ebp, 0x168
jb case.0x438687.66
test ebx, ebx
jg case.0x438687.66
jl 0x4386ba
cmp ebp, 0xb40
ja case.0x438687.66
cmp ebp, 0x4b0
jg 0x4386f6
je 0x4386ed
cmp ebp, 0x168
je 0x4386e4
cmp ebp, 0x2d0
jne case.0x438687.66
mov ebp, 0xb2400
xor ebx, ebx
jmp case.0x438687.66
mov ebp, 0x58800
xor ebx, ebx
jmp case.0x438687.66
mov ebp, 0x128600
xor ebx, ebx
jmp case.0x438687.66
cmp ebp, 0x5a0
je 0x43870f
cmp ebp, 0xb40
jne case.0x438687.66
mov ebp, 0x2c7c00
xor ebx, ebx
jmp case.0x438687.66
mov ebp, 0x163e00
xor ebx, ebx
jmp case.0x438687.66
push 0
push 0x400
jmp 0x43874c
push 0
push 0x100000
jmp 0x43874c
push 0
push 0xf4240
jmp 0x43874c
push 0
push 0x40000000
jmp 0x43874c
push 0
push 0x3b9aca00
jmp 0x43874c
push 0
push 0x3e8
push ebx
push ebp
call fcn.004e4480
mov ebx, edx
mov ebp, eax
mov edx, dword [esp + 0x1c]
or edx, dword [esp + 0x20]
je 0x438776
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
push ebx
push ebp
call fcn.004e6f30
mov ebp, eax
mov ebx, edx
mov edx, dword [edi + 0x6160]
or edx, dword [edi + 0x6164]
jne 0x438795
mov dword [edi + 0x6160], ebp
mov dword [edi + 0x6164], ebx
jmp case.0x437682.78
push ebx
push ebp
lea ecx, [edi + 0x6168]
call fcn.004374e0
jmp case.0x437682.78
push 0x800
add esi, 2
push esi
add edi, 0x10
push edi
call fcn.00467570
push 0x800
push edi
call fcn.00451500
jmp case.0x437682.78
mov byte [edi + 0x617c], 1
jmp case.0x437682.78
cmp word [esi + 2], 0
lea eax, [esi + 2]
je case.0x437682.78
push 0x800
push eax
add edi, 0x3016
push edi
call fcn.00467570
jmp case.0x437682.78