Function at 0x49a5e0
Capabilities:
Read file on windows

Disassembly:
push 0xffffffffffffffff
push 0x4afec6
mov eax, dword fs:[0]
push eax
mov eax, 0x2638
call fcn.0049f030
mov eax, dword [0x4c0390]
xor eax, esp
mov dword [esp + 0x2634], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4c0390]
xor eax, esp
push eax
lea eax, [esp + 0x264c]
mov dword fs:[0], eax
call fcn.00434770
mov eax, dword [0x4e5748]
movsx eax, byte [eax + 0x4c0324]
mov cl, byte [0x4e695c]
xor ebp, ebp
mov dword [str.SelectObject], eax
neg eax
sbb eax, eax
mov dword [0x4bedb8], eax
mov al, byte [0x4e695b]
mov dword [0x5007c0], ebp
mov dword [0x5007c4], ebp
mov dword [0x5007ac], ebp
mov dword [0x5007a8], ebp
mov dword [0x4c9398], ebp
mov dword [0x4c9828], ebp
mov dword [0x4bedc0], 0x4c9828
mov dword [0x4c93b8], ebp
mov dword [0x4c93b4], ebp
mov dword [0x5007a4], ebp
mov dword [0x5007a0], ebp
cmp al, 0x52
jne 0x49a6a3
mov dword [0x4c9814], 3
test cl, cl
je 0x49a6a9
mov dword [0x4c9814], ebp
xor edx, edx
cmp al, 0x53
sete dl
mov ebx, 1
mov dword [0x4c981c], edx
cmp al, 0x52
jne 0x49a6ca
mov dword [0x4c9818], ebx
cmp cl, 0x4e
je 0x49a6d0
mov dword [0x4c9818], ebp
cmp byte [0x4e758c], 0
je 0x49a87b
push 0x4e758c
call fcn.0049bd80
mov dword [0x4c93b8], eax
cmp eax, ebp
jne 0x49a706
mov ecx, 0x4c9364
call fcn.00428cd0
push 0x4b1914
push 4
call fcn.0049a070
cmp word [0x4e798c], bp
je 0x49a722
push 0x4e798c
call fcn.0049be00
mov dword [0x4c93b4], eax
cmp eax, ebp
je 0x49a6f0
cmp byte [0x4e57a1], 0
je 0x49a75f
mov eax, dword [0x4c93b8]
push eax
call fcn.0044e620
test al, al
je 0x49a75f
movsx ecx, byte [0x4e695b]
push ecx
push 0x4b1dc8
call fcn.0049e710
add esp, 8
test eax, eax
je 0x49a75f
mov edx, dword [0x4c93b8]
push edx
call fcn.00431880
cmp dword [0x4c9814], ebp
je 0x49a7f9
mov eax, dword [0x4b3928]
mov ecx, dword [0x4b392c]
mov dl, byte [str.Detailed]
mov dword [esp + 0x1dc8], eax
mov eax, dword [0x4c93b8]
push eax
mov dword [esp + 0x1dd0], ecx
mov byte [esp + 0x1dd4], dl
call fcn.0044e730
mov edx, eax
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x49a7a0
lea edi, [esp + 0x1dc8]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x49a7b1
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1dc8]
push ecx
push 0x267
call fcn.0045c9e0
push eax
lea edx, [esp + 0x21d0]
push edx
call fcn.0049eab5
add esp, 0xc
lea eax, [esp + 0x21c8]
push eax
call fcn.00480470
call fcn.0049d290
mov esi, eax
cmp esi, ebp
je 0x49a876
lea eax, [esi - 2]
cmp eax, 9
ja 0x49a869
movzx ecx, byte [eax + 0x49ae38]
jmp dword [ecx*4 + 0x49ae28]
mov ecx, dword [0x4c93b8]
push ecx
push esi
jmp 0x49a701
mov al, byte [0x4e695b]
cmp al, 0x44
jne 0x49a89d
call fcn.00476fe0
cmp eax, ebp
je 0x49a898
cmp eax, 0xffffffff
je 0x49a898
push 0x4b1914
push eax
jmp 0x49a701
mov al, byte [0x4e695b]
cmp al, 0x41
jne 0x49a8cb
call fcn.00476d50
cmp byte [0x4e5765], 0
jne 0x49a8b8
cmp byte [0x4e5764], 0
je 0x49a8cb
mov eax, dword [0x4c9820]
cmp eax, ebp
je 0x49a8cb
mov dword [eax + 0x50], ebx
mov eax, dword [eax + 0x58]
cmp eax, ebp
jne 0x49a8c1
call fcn.00431dd0
cmp dword [0x4c93a8], ebp
je 0x49a8e7
mov edx, dword [0x4c93a0]
push edx
call fcn.0049e7fd
add esp, 4
mov esi, dword [0x4c9820]
mov dword [0x5007b0], ebp
mov dword [0x5007b4], ebp
mov dword [0x5007b8], ebp
mov dword [0x5007bc], ebp
mov dword [esp + 0x18], ebp
cmp esi, ebp
je 0x49aaf3
jmp 0x49a925
mov ebx, 1
cmp dword [esi + 0x50], ebp
je 0x49aae8
mov ecx, dword [esi + 0x38]
push 0x400
lea eax, [esp + 0x21cc]
push eax
push ecx
call fcn.0044f350
cmp byte [0x4e5761], 0
je 0x49a965
mov edx, dword [esi + 0x38]
push edx
call fcn.0049a240
test al, 0x20
jne 0x49a965
mov dword [esi + 0x50], ebp
mov dword [esi + 0x54], ebx
jmp 0x49aae8
mov eax, dword [esi + 0x14]
add dword [0x5007b8], eax
adc dword [0x5007bc], ebp
cmp byte [0x4e695b], 0x44
je 0x49aae4
mov ecx, dword [esi + 0x38]
push ebp
push ebp
push ecx
call fcn.00476b90
mov edx, dword [0x5007c0]
mov ecx, dword [0x5007c4]
cmp eax, ebp
je 0x49a9bf
cmp eax, edx
jb 0x49a9bf
cmp ecx, ebp
je 0x49a9a8
cmp eax, ecx
jae 0x49a9bf
cmp byte [0x4e5765], 0
jne 0x49a9ba
cmp byte [0x4e5764], 0
je 0x49a9fa
cmp eax, dword [esi + 8]
ja 0x49a9fa
mov dword [esi + 0x50], ebp
cmp eax, ebp
je 0x49a9d9
cmp eax, edx
jb 0x49a9d9
cmp ecx, ebp
je 0x49a9d2
cmp eax, ecx
jae 0x49a9d9
mov eax, 1
jmp 0x49a9db
xor eax, eax
mov dword [esi + 0x54], eax
cmp eax, ebp
je 0x49aae8
mov edx, dword [esi + 0x14]
sub dword [0x5007b8], edx
sbb dword [0x5007bc], ebp
jmp 0x49aae8
cmp byte [0x4e695b], 0x44
je 0x49aae4
mov eax, dword [0x4e5744]
cmp eax, ebp
je 0x49aae4
cmp eax, 2
sete bl
cmp eax, 4
jne case.default.0x49aaaa
xor eax, eax
jmp 0x49aa30
mov cl, byte [esp + eax + 0x21c8]
mov byte [esp + eax + 0x1dc8], cl
inc eax
test cl, cl
jne 0x49aa30
lea eax, [esp + 0x1dc8]
push eax
mov edi, 2
call fcn.0044e800
movsx ecx, byte [eax]
push ecx
call fcn.0044e540
test al, al
jne 0x49aaa2
mov edx, dword [esi + 8]
mov eax, dword [esi + 0x14]
push 7
push edx
push ebp
push eax
lea ecx, [esp + 0x1dd8]
push ecx
lea edx, [esp + 0x1dc4]
push edx
call fcn.0040b230
movsx eax, byte [esp + 0x1db0]
push eax
mov eax, dword [0x4c037c]
push eax
call fcn.0049e710
sub eax, dword [0x4c037c]
add esp, 8
inc eax
mov edi, eax
add edi, 0xfffffffe
cmp edi, 3
ja case.default.0x49aaaa
jmp dword [edi*4 + 0x49ae44]
test bl, bl
je 0x49aae4
mov dword [esi + 0x50], ebp
jmp 0x49aae8
inc dword [esp + 0x18]
mov esi, dword [esi + 0x58]
cmp esi, ebp
jne 0x49a920
lea ecx, [esp + 0x1924]
call fcn.00468ca0
lea ecx, [esp + 0x1948]
call fcn.00468ca0
lea ecx, [esp + 0x196c]
call fcn.00468ca0
mov ecx, dword [0x4c93b4]
mov edx, dword [0x4c93b8]
push ecx
mov dword [esp + 0x1db4], ebp
push edx
xor ebp, ebp
call fcn.00430550
test al, al
je 0x49ab6c
mov ecx, dword [0x4c93b4]
mov edx, dword [0x4c93b8]
push ebp
lea eax, [esp + 0xd14]
push eax
push ecx
push edx
call fcn.00433eb0
test al, al
je 0x49ab6c
mov eax, dword [esp + 0x1910]
mov ebp, dword [esp + 0x1914]
mov dword [esp + 0x1db0], eax
mov esi, dword [0x4c9828]
test esi, esi
je 0x49ac82
lea ebx, [ebx]
mov ecx, dword [esi + 0xc]
add dword [0x5007b8], ecx
adc dword [0x5007bc], 0
mov edi, dword [esi]
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x49ab97
sub eax, edx
mov edx, dword [esi + 0xc]
lea eax, [edx + eax*2 + 0x100]
add dword [esp + 0x1db0], eax
adc ebp, 0
test ebp, ebp
jg 0x49ad1f
jl 0x49abcf
cmp dword [esp + 0x1db0], 0x80000000
jae 0x49ad1f
push 0
push 0
push edi
call fcn.00476b90
mov edi, eax
test edi, edi
sete bl
cmp byte [0x4e5761], 0
je 0x49abf5
mov ecx, dword [esi]
push ecx
call fcn.0049a240
test al, 0x20
je 0x49ac51
mov al, byte [0x4e695b]
cmp al, 0x44
je 0x49ac51
cmp al, 0x41
jne 0x49ac0b
cmp byte [0x4e5764], 0
jne 0x49ac51
mov edx, dword [esi]
push 1
push 1
push edx
mov ecx, 0x4e2ea0
call fcn.0041c900
test al, al
jne 0x49ac51
test bl, bl
jne 0x49ac55
cmp edi, dword [0x5007c0]
jb 0x49ac72
mov eax, dword [0x5007c4]
test eax, eax
je 0x49ac39
cmp edi, eax
jae 0x49ac72
mov eax, dword [0x4c93b8]
mov ecx, dword [esi + 8]
push eax
push ecx
call fcn.00465ee0
test eax, eax
je 0x49ac72
mov esi, dword [esi + 0x14]
jmp 0x49ac7a
test bl, bl
je 0x49ac72
mov edx, dword [esi + 8]
push edx
push 0x206
call fcn.0045c9e0
push eax
mov eax, dword [0x4c93b8]
push eax
call fcn.00445f90
add esp, 0xc
push esi
call fcn.00431cf0
mov esi, eax
test esi, esi
jne 0x49ab80
cmp dword [esp + 0x18], 0
mov eax, dword [0x4c9820]
jne 0x49ad94
cmp dword [0x4c9828], 0
jne 0x49ad94
cmp dword [0x4c9818], 0
jne 0x49ad94
mov ecx, dword [0x4e578c]
mov edx, dword [0x4c9814]
mov esi, dword [0x4c981c]
test eax, eax
je 0x49ace7
test ecx, ecx
jne 0x49ad94
test edx, edx
jne 0x49ae60
test esi, esi
jne 0x49ada1
cmp byte [0x4e42b0], 0
jne 0x49ada1
cmp byte [0x4e5765], 0
jne 0x49ad8d
cmp byte [0x4e5764], 0
jne 0x49ad8d
test eax, eax
jne 0x49ad45
test ecx, ecx
jne 0x49ad11
test edx, edx
jne 0x49ad11
test esi, esi
je 0x49ad45
mov edx, dword [0x4c93b8]
push edx
push 0xd
jmp 0x49a701
push 0x3b7
call fcn.0045c9e0
mov ecx, dword [0x4c93b8]
push eax
push ecx
call fcn.00445f90
add esp, 8
push 0x4b1914
push 5
jmp 0x49a701
mov al, byte [0x4e695b]
cmp al, 0x41
jne 0x49ad61
push 0x340
call fcn.0045c9e0
push eax
mov eax, dword [0x4c93b8]
push eax
jmp 0x49ad77
cmp al, 0x44
jne 0x49ad7f
push 0x345
call fcn.0045c9e0
mov ecx, dword [0x4c93b8]
push eax
push ecx
call fcn.00445f90
add esp, 8
mov edx, dword [0x4c93b8]
push edx
push 0xc
jmp 0x49a701
push 0
jmp 0x49b7fc
cmp dword [0x4c9814], 0
jne 0x49ae60
cmp byte [0x4e2eb0], 0
je 0x49adf6
test eax, eax
jne 0x49adba
cmp dword [case.0x49aaaa.2], eax
je 0x49ae60
mov edx, dword [0x4c93b4]
mov eax, dword [0x4c93b8]
push 0
push 0x4b3764
push edx
push eax
call fcn.00430cf0
test eax, eax
jne 0x49ae17
mov eax, dword [0x4c93b8]
push eax
push eax
mov ecx, 0x4c9364
call fcn.00428d30
mov ecx, dword [0x4c93b8]
push ecx
push 0xf
jmp 0x49a701
test eax, eax
jne 0x49adba
cmp dword [case.0x49aaaa.2], eax
jne 0x49adba
mov ecx, dword [0x4c93b8]
push eax
mov eax, dword [0x4c93b4]
push 0x4b1ba8
push eax
push ecx
jmp 0x49adce
push eax
call fcn.004a0026
mov edx, dword [0x4c93b4]
mov eax, dword [0x4c93b8]
add esp, 4
push edx
push eax
call fcn.004305f0
cmp dword [0x4c9820], 0
mov dword [esp + 0x1db0], eax
jne 0x49ae6b
cmp dword [case.0x49aaaa.2], 0
jne 0x49ae6b
mov ecx, dword [0x4c93b4]
mov edx, dword [0x4c93b8]
push ecx
push edx
call fcn.00430900
jmp 0x49ae6b
mov dword [esp + 0x1db0], 0
mov eax, dword [0x4c93b4]
mov ecx, dword [0x4c93b8]
push eax
xor edi, edi
xor esi, esi
push ecx
mov dword [esp + 0x20], esi
mov dword [case.0x49f13c.0], edi
call fcn.00430550
mov bl, al
cmp dword [0x4c9820], edi
jne 0x49ae9d
cmp dword [case.0x49aaaa.2], edi
je 0x49aeea
mov edx, dword [0x4c93b4]
mov eax, dword [0x4c93b8]
push edi
push 0x4b1948
push edx
push eax
call fcn.00430cf0
mov esi, eax
mov dword [0x5007a0], eax
mov dword [esp + 0x18], esi
cmp eax, edi
jne 0x49aeea
mov ecx, dword [0x4c93b8]
push ecx
push 0x1f5
call fcn.0045c9e0
push eax
call fcn.0048ed00
add esp, 8
push 0x4b1914
push 0xd
jmp 0x49a701
test bl, bl
je 0x49aefc
mov edx, dword [0x4c93b8]
push edx
call fcn.004321c0
jmp 0x49af0a
mov eax, dword [0x4c93b8]
push eax
call fcn.004acecd
add esp, 4
mov dword [0x5007ac], eax
cmp eax, edi
je 0x49a6f0
test bl, bl
jne 0x49af83
mov ecx, dword [0x4c93b4]
cmp ecx, edi
je 0x49af83
push ecx
call fcn.0046ecb0
mov ecx, eax
mov dword [0x5007a8], ecx
cmp ecx, edi
je 0x49a6f0
mov eax, dword [0x5007ac]
push edi
push 0x4b1ba8
push ecx
push eax
call fcn.00430cf0
mov ecx, eax
mov dword [esp + 0x20], ecx
mov dword [0x5007a4], ecx
cmp ecx, edi
jne 0x49af8b
mov ecx, dword [0x5007ac]
push ecx
push 0x1f6
call fcn.0045c9e0
push eax
call fcn.0048ed00
add esp, 8
push 0x4b1914
push 0xa
jmp 0x49a701
mov ecx, dword [0x5007a8]
jmp 0x49af40
mov eax, dword [case.0x49aaaa.2]
cmp eax, edi
je 0x49afbd
push eax
push ecx
push esi
call fcn.004322a0
cmp eax, edi
je 0x49afb8
mov ecx, dword [0x5007ac]
cmp eax, 0xa
je 0x49afb1
mov ecx, dword [0x4c93b8]
push ecx
push eax
jmp 0x49a701
mov eax, dword [case.0x49aaaa.2]
mov dword [case.0x49f13c.0], eax
mov al, byte [0x4e695b]
mov dword [esp + 0x24], edi
cmp al, 0x41
jne 0x49afeb
mov eax, dword [0x4c93b8]
xor edx, edx
cmp dword [0x4c9820], edi
setne dl
push edx
push eax
call fcn.0040a3c0
mov al, byte [0x4e695b]
mov esi, dword [0x4c9820]
mov dword [esp + 0x14], 0x4c9820
cmp esi, edi
je 0x49b2de
mov ebp, dword [esp + 0x20]
mov ebx, dword [esp + 0x18]
jmp 0x49b015
mov al, byte [0x4e695b]
mov edi, 1
cmp dword [esi + 0x50], edi
jne 0x49b115
cmp al, 0x41
jne 0x49b08e
mov ecx, dword [esi + 0x4c]
push 0
push 0
push edi
push 0
push ecx
call fcn.0040a400
push ebp
push esi
call fcn.0049e040
test eax, eax
je 0x49b050
cmp eax, 0x12
je 0x49b05e
cmp eax, 0xffffffff
jne 0x49b389
cmp eax, 0x12
je 0x49b05e
cmp eax, 0xffffffff
jne 0x49b2c9
mov edx, dword [esi + 0x4c]
mov eax, dword [0x4c93b8]
push edx
push eax
mov ecx, 0x4c9364
mov dword [esp + 0x2c], edi
call fcn.00428cf0
push ebp
push ebx
push esi
call fcn.0049ccc0
test eax, eax
jne 0x49a88d
mov dword [esi + 0x50], eax
jmp 0x49b2c9
cmp dword [0x4dc178], 0
jne 0x49b2de
mov ecx, dword [esi + 0x4c]
push 0
push 0
push ecx
call fcn.0040a510
mov edx, dword [esi + 0x48]
mov edi, dword [esi + 0x58]
push edx
call fcn.0049e7fd
mov eax, dword [esi + 0x4c]
push eax
call fcn.0049e7fd
add esp, 8
cmp dword [esi + 0x1c], 0
je 0x49b0d2
mov ecx, dword [esi + 0x3c]
push ecx
call fcn.0049e7fd
add esp, 4
cmp dword [esi + 0x20], 0
je 0x49b0e9
mov eax, dword [esi + 0x40]
cmp eax, dword [esi + 0x3c]
je 0x49b0e9
push eax
call fcn.0049e7fd
add esp, 4
cmp dword [esi + 0x24], 0
je 0x49b0fb
mov edx, dword [esi + 0x44]
push edx
call fcn.0049e7fd
add esp, 4
push esi
call fcn.0049e7fd
mov eax, dword [esp + 0x18]
add esp, 4
mov dword [eax], edi
dec dword [0x4c93a8]
jmp 0x49b2d0
cmp dword [0x4dc178], 0
jne 0x49b2de
cmp al, 0x44
jne 0x49b132
mov ecx, dword [esi + 0x4c]
push edi
push 0
push ecx
call fcn.0040a510
cmp dword [0x4c9818], 0
mov edi, dword [0x4c9814]
je 0x49b2b3
lea ecx, [esp + 0x28]
call fcn.00402b60
mov dword [esp + 0x2654], 0
push 0xce8
lea edx, [esp + 0x2c]
push 0
push edx
call fcn.0049f060
mov eax, dword [esi + 0x48]
add esp, 0xc
push eax
call fcn.0044e800
movsx ecx, byte [eax]
push ecx
call fcn.0044e540
push 0x3ff
lea edx, [esp + 0x5c]
mov byte [esp + 0x23], al
mov eax, dword [esi + 0x48]
push edx
push eax
call fcn.0044f350
lea ecx, [esp + 0x21c8]
push ecx
lea edx, [esp + 0x5c]
push edx
call fcn.00465bf0
lea eax, [esp + 0x1dc8]
push eax
lea ecx, [esp + 0x21cc]
push ecx
call fcn.00465c00
lea ecx, [esp + 0x1dc8]
lea eax, [esp + 0x58]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x49b1e8
test dl, dl
je 0x49b1e4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x49b1e8
add eax, 2
add ecx, 2
test dl, dl
jne 0x49b1c8
xor eax, eax
jmp 0x49b1ed
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
mov edx, 0x800
sete byte [esp + 0x1e]
test word [esi + 4], dx
jne 0x49b214
movzx eax, word [esi]
push eax
shr eax, 8
push eax
call fcn.0049bba0
test al, al
je 0x49b214
mov bl, 1
jmp 0x49b216
xor bl, bl
lea eax, [esp + 0x58]
push eax
mov ecx, eax
push ecx
call fcn.00465bf0
cmp byte [esp + 0x1e], 0
je 0x49b29b
lea edx, [esp + 0x28]
push edx
push 0x4e2ea0
call fcn.00450910
test al, al
je 0x49b29b
cmp byte [esp + 0x1f], 0
je 0x49b24e
lea eax, [esp + 0x58]
push eax
call fcn.0044ebb0
push 0x400
push 0
lea ecx, [esp + 0x60]
push ecx
call fcn.0044f3e0
lea edx, [esp + 0x58]
push edx
mov eax, edx
push eax
call fcn.00465c00
test bl, bl
je 0x49b278
mov ecx, 0xb17
mov word [esi], cx
mov edx, dword [esi + 0x48]
push edx
call fcn.0049e7fd
lea eax, [esp + 0x5c]
push eax
call fcn.004acecd
mov dword [esi + 0x48], eax
add esp, 8
mov dword [0x4c9814], 3
mov dword [esp + 0x2654], 0xffffffff
lea ecx, [esp + 0x28]
call fcn.00402270
mov ebx, dword [esp + 0x18]
push ebp
push ebx
push esi
call fcn.0049ccc0
mov dword [0x4c9814], edi
test eax, eax
jne 0x49a88d
add esi, 0x58
mov dword [esp + 0x14], esi
mov ecx, dword [esp + 0x14]
mov esi, dword [ecx]
test esi, esi
jne 0x49b010
mov edi, dword [0x4c9828]
test edi, edi
je 0x49b3f1
xor ebx, ebx
cmp dword [0x4dc178], ebx
jne 0x49b3f1
push 0x5c
call fcn.0049eb7f
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x49a6f0
mov dword [esi + 0x58], ebx
mov edx, dword [edi]
mov dword [esi + 0x38], edx
mov eax, dword [edi + 4]
mov dword [edi], ebx
lea ebp, [esi + 0x58]
push ebx
mov dword [esi + 0x48], eax
mov ecx, dword [edi + 8]
mov dword [edi + 4], ebx
push ebx
mov dword [esi + 0x4c], ecx
mov dword [edi + 8], ebx
mov edx, dword [esi + 0x4c]
push ebx
push ebx
push edx
mov dword [esi + 0x24], ebx
mov dword [esi + 0x20], ebx
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x40], ebx
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x50], 1
call fcn.0040a400
mov eax, dword [esp + 0x20]
push eax
push esi
call fcn.0049e040
cmp eax, ebx
je 0x49b36d
cmp eax, 0x12
je 0x49b3a1
cmp eax, 0xffffffff
jne 0x49b44a
cmp eax, 0x12
je 0x49b3a1
cmp eax, 0xffffffff
je 0x49b3a1
mov ecx, dword [esp + 0x14]
mov dword [ecx], esi
inc dword [0x4c93a8]
mov dword [esp + 0x14], ebp
jmp 0x49b3e1
cmp dword [0x4dc178], 0
jne 0x49b2de
push 0x4b1914
push eax
jmp 0x49a701
mov edx, dword [esi + 0x4c]
mov eax, dword [0x4c93b8]
push edx
push eax
mov ecx, 0x4c9364
mov dword [esp + 0x2c], 1
call fcn.00428cf0
mov ecx, dword [esi + 0x38]
push ecx
call fcn.0049e7fd
mov edx, dword [esi + 0x48]
push edx
call fcn.0049e7fd
mov eax, dword [esi + 0x4c]
push eax
call fcn.0049e7fd
push esi
call fcn.0049e7fd
add esp, 0x10
push edi
call fcn.00431cf0
mov edi, eax
cmp edi, ebx
jne 0x49b2ee
xor ebp, ebp
cmp byte [0x4e42b0], 0
je 0x49b5d9
cmp dword [0x4c9814], ebp
jne 0x49b5d9
push 0x4b1948
push 0x4e42b0
call fcn.004a0348
mov esi, eax
add esp, 8
mov dword [esp + 0x14], esi
cmp esi, ebp
jne 0x49b45d
mov ecx, dword [0x4c93b8]
push 0x4e42b0
push ecx
mov ecx, 0x4c9364
call fcn.00428cf0
push 0x4b1914
push 0x12
jmp 0x49a701
cmp dword [0x4dc178], ebx
jne 0x49b3f1
push 0x4c93c0
push eax
jmp 0x49a701
cmp dword [0x4c93a4], ebp
je 0x49b474
mov edx, dword [0x4c9824]
push edx
call fcn.0049e7fd
add esp, 4
push 0x8000
call fcn.0049eb7f
add esp, 4
mov dword [0x4c9824], eax
cmp eax, ebp
je 0x49a6f0
push esi
push 0x7fff
push 1
push eax
call fcn.004a05f9
mov ecx, dword [0x4c9824]
mov dword [0x4c93a4], eax
add esp, 0x10
mov byte [ecx + eax], 0
cmp dword [0x4e46b0], 2
jne 0x49b4c4
mov eax, dword [0x4c9824]
push eax
push eax
call dword [0x4b1678]
cmp dword [0x4e46b0], 3
jne 0x49b5ce
mov ebx, dword [0x4c9824]
movsx eax, byte [ebx]
cmp eax, 0xff
jne 0x49b4f4
movsx edx, byte [ebx + 1]
cmp edx, 0xfe
jne 0x49b4f4
mov edi, 1
jmp 0x49b4f6
xor edi, edi
cmp eax, 0xfe
jne 0x49b50f
movsx eax, byte [ebx + 1]
cmp eax, 0xff
jne 0x49b50f
mov ebp, 1
jmp 0x49b511
xor ebp, ebp
test edi, edi
jne 0x49b51d
test ebp, ebp
je 0x49b5ce
mov ecx, dword [0x4c93a4]
inc ecx
push ecx
lea ecx, [esp + 0x1dc0]
call fcn.0040baa0
mov dword [esp + 0x2654], 1
mov esi, dword [esp + 0x1dbc]
mov edx, 2
xor ecx, ecx
cmp dword [0x4c93a4], edx
jbe 0x49b588
lea eax, [ebx + ebp + 2]
sub edi, ebp
jmp 0x49b560
movsx bx, byte [edi + eax]
mov ebp, 0x100
imul bx, bp
movsx bp, byte [eax]
add bx, bp
mov word [esi + ecx*2], bx
add edx, 2
inc ecx
add eax, 2
cmp edx, dword [0x4c93a4]
jb 0x49b560
xor edx, edx
mov word [esi + ecx*2], dx
mov eax, dword [0x4c93a4]
mov ecx, dword [0x4c9824]
dec eax
push eax
push ecx
push esi
call fcn.0046e3a0
mov edx, dword [0x4c93a4]
mov eax, dword [0x4c9824]
mov byte [eax + edx - 1], 0
mov dword [esp + 0x2654], 0xffffffff
test esi, esi
je 0x49b5ca
push esi
call fcn.0049e7fd
add esp, 4
mov esi, dword [esp + 0x14]
push esi
call fcn.004a0026
add esp, 4
xor ebp, ebp
mov esi, dword [0x4c9820]
mov eax, dword [case.0x49f13c.0]
xor ebx, ebx
mov dword [esp + 0x14], ebx
mov edi, eax
cmp esi, ebp
je 0x49b6b0
mov ebp, dword [esp + 0x20]
cmp dword [0x4c9814], 0
jne 0x49b6de
mov ecx, 0x800
test word [esi + 4], cx
jne 0x49b6de
movzx eax, word [esi]
push eax
shr eax, 8
push eax
call fcn.0049bba0
test al, al
je 0x49b6de
mov edx, dword [esi + 0x48]
push 0x400
push edx
lea eax, [esp + 0x21d0]
push eax
mov bl, 1
call fcn.00465f20
mov eax, dword [esi + 0x48]
push eax
push eax
call fcn.00465bf0
push ebp
push esi
call fcn.0049c8c0
test eax, eax
jne 0x49b6e5
test bl, bl
je 0x49b672
mov edx, dword [esi + 0x48]
lea ecx, [esp + 0x21c8]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x49b668
mov ecx, dword [esi + 0x24]
add ecx, dword [esi + 0x20]
mov edx, dword [case.0x49f13c.0]
add ecx, dword [esi + 0x18]
cmp byte [esp + 0x14], 0
lea eax, [edx + ecx + 0x2e]
mov dword [case.0x49f13c.0], eax
jne 0x49b696
call fcn.004464e0
mov esi, dword [esi + 0x58]
inc dword [esp + 0x14]
test esi, esi
jne 0x49b5f8
mov ebx, dword [esp + 0x14]
mov eax, dword [case.0x49f13c.0]
xor ebp, ebp
mov esi, dword [esp + 0x20]
mov edx, dword [0x4c9824]
mov ecx, dword [0x4c93a4]
push esi
push edx
push ecx
push edi
sub eax, edi
push eax
push ebx
call fcn.0049cb80
cmp eax, ebp
je 0x49b6f2
mov edx, dword [0x5007ac]
push edx
push eax
jmp 0x49a701
xor bl, bl
jmp 0x49b64b
mov ecx, dword [0x5007ac]
push ecx
push eax
jmp 0x49a701
push esi
mov dword [0x5007a4], ebp
call fcn.004a0026
add esp, 4
test eax, eax
je 0x49b712
mov eax, dword [0x5007ac]
push eax
push 0xa
jmp 0x49a701
mov eax, dword [esp + 0x18]
cmp eax, ebp
je 0x49b723
push eax
call fcn.004a0026
add esp, 4
call fcn.00421ab0
cmp dword [0x4dc178], ebp
je 0x49b830
mov ecx, dword [0x5007a8]
mov edx, dword [0x5007ac]
push ecx
push edx
call fcn.00430900
mov eax, dword [0x5007ac]
push eax
call fcn.0049e7fd
mov eax, dword [0x5007a8]
add esp, 4
mov dword [0x5007ac], ebp
cmp eax, ebp
je 0x49b76d
push eax
call fcn.0049e7fd
add esp, 4
mov dword [0x5007a8], ebp
cmp ebx, ebp
jne 0x49b78a
mov ecx, dword [0x4c93b4]
mov edx, dword [0x4c93b8]
push ecx
push edx
call fcn.00430900
mov eax, dword [esp + 0x1db0]
cmp eax, ebp
je 0x49b7a8
mov ecx, dword [0x4c93b8]
push eax
mov eax, dword [0x4c93b4]
push eax
push ecx
call fcn.00430620
cmp byte [0x4e5760], 0
je 0x49b7f0
mov esi, dword [0x4c9820]
cmp esi, ebp
je 0x49b7f0
mov edi, 1
cmp dword [esi + 0x50], edi
je 0x49b7ca
cmp dword [esi + 0x54], ebp
je 0x49b7e9
mov edx, dword [esi + 0x38]
push edx
call fcn.0049a240
cmp eax, 0xffffffff
je 0x49b7e9
test al, 0x20
je 0x49b7e9
and eax, 0xffffffdf
push eax
mov eax, dword [esi + 0x38]
push eax
call fcn.0049a2d0
mov esi, dword [esi + 0x58]
cmp esi, ebp
jne 0x49b7c0
mov eax, dword [esp + 0x24]
neg eax
sbb eax, eax
and eax, 0x12
push eax
lea ecx, [esp + 0xd14]
call fcn.0049a370
mov ecx, dword [esp + 0x264c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x2634]
xor ecx, esp
call fcn.0049eaa6
add esp, 0x2644
ret
cmp dword [0x4c9814], ebp
je 0x49b96d
mov eax, dword [0x4b3928]
mov ecx, dword [0x4b392c]
mov dl, byte [str.Detailed]
mov dword [esp + 0x1dc8], eax
mov eax, dword [0x4c93b8]
push eax
mov dword [esp + 0x1dd0], ecx
mov byte [esp + 0x1dd4], dl
call fcn.0044e730
mov edx, eax
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x49b870
lea edi, [esp + 0x1dc8]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x49b881
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 1
lea ecx, [esp + 0x1dcc]
push ecx
call fcn.0044f2c0
push ebp
lea edx, [esp + 0x1dcc]
push edx
call fcn.00430550
test al, al
je 0x49b8fa
lea eax, [esp + 0x1dc8]
push eax
lea ecx, [esp + 0x1dc0]
push ecx
call fcn.0040ae70
mov al, byte [esp + 0x1dbc]
cmp al, 0x4e
je 0x49b94d
cmp al, 0x43
je 0x49b94d
push ebp
push ebp
lea edx, [esp + 0x1dd0]
push edx
call fcn.00430620
lea eax, [esp + 0x1dc8]
push eax
call fcn.00431630
cmp byte [esp + 0x1dc8], 0
je 0x49b747
mov ecx, dword [0x5007ac]
push ebp
lea eax, [esp + 0x1dcc]
push eax
push ebp
push ecx
call fcn.00430850
test al, al
jne 0x49b747
mov eax, dword [0x5007ac]
lea edx, [esp + 0x1dc8]
push edx
push eax
push 0x207
call fcn.0045c9e0
push eax
push ebp
call fcn.00445f90
add esp, 0x10
jmp 0x49b747
mov ecx, dword [0x5007a8]
mov edx, dword [0x5007ac]
push ecx
push edx
call fcn.00430900
mov byte [esp + 0x1dc8], 0
jmp 0x49b747
mov ecx, dword [0x5007ac]
mov edx, dword [0x4c93b4]
mov eax, dword [0x4c93b8]
push ecx
push edx
push eax
call fcn.004323a0
mov esi, eax
cmp esi, ebp
je 0x49b747
mov ecx, dword [0x4c93b8]
mov edx, dword [0x5007ac]
push ecx
push edx
push 0x207
call fcn.0045c9e0
push eax
push ebp
call fcn.00445f90
mov eax, dword [0x4c93b8]
add esp, 0x10
push eax
mov ecx, 0x4c9364
call fcn.00428fc0
cmp esi, 0xf
jne 0x49b9f0
mov ecx, dword [0x4c93b4]
mov edx, dword [0x4c93b8]
push ecx
push edx
call fcn.00430550
test al, al
je 0x49b9f0
mov eax, dword [0x5007a8]
mov ecx, dword [0x5007ac]
push eax
push ecx
call fcn.00430900
mov edx, dword [0x5007ac]
push edx
call fcn.0049e7fd
mov eax, dword [0x5007a8]
add esp, 4
mov dword [0x5007ac], ebp
cmp eax, ebp
je 0x49ba17
push eax
call fcn.0049e7fd
add esp, 4
push 0x4b1914
mov dword [0x5007a8], ebp
push esi
jmp 0x49a701