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

Disassembly:
sub esp, 0xf4
mov eax, dword [0xe31b454]
push ebx
push ebp
xor ebx, ebx
push esi
push edi
cmp eax, ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x94], ebx
mov dword [esp + 0x2c], 1
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x58], 0xe3095fb
mov dword [esp + 0x70], 0xe3098b9
mov ebp, 0x80000000
mov edi, 0xe319aac
je 0x10003784
mov esi, dword [esp + 0x108]
mov eax, 0xe30a08e
mov dword [esp + 0x58], eax
mov dword [esp + 0x70], eax
mov al, byte [0xe315138]
mov dword [esp + 0x2c], ebx
test al, al
jne 0x1000373c
cmp dword [esi + 0x24], 0x32315247
je 0x1000373c
call fcn.10007250
mov byte [0xe315138], 1
mov eax, 0xfff
mov dword [esp + 0x90], edi
mov dword [esp + 0x78], edi
mov word [0xe3174fe], ax
mov word [0xe3174fc], ax
mov word [0xe3174fa], ax
mov word [0xe3174f8], ax
mov word [0xe317500], 0xffff
mov word [0xe317506], ax
mov word [0xe317504], ax
mov word [0xe317502], ax
jmp 0x100038e2
mov esi, dword [esp + 0x108]
mov eax, 0xe30799c
mov dword [esp + 0x8c], eax
mov dword [esp + 0x4c], eax
mov eax, dword [esi + 0x24]
cmp eax, 0x4b594d43
je 0x10003815
cmp eax, 0x41424752
je 0x10003815
test byte [esi + 0x738], 0x10
je 0x100037ec
mov dword [esp + 0x8c], 0xe307e98
mov dword [esp + 0x4c], 0xe307bdc
call fcn.10006e40
cmp dword [esi + 0x794], ebx
jne 0x1000380c
cmp dword [esi + 0x798], ebx
jne 0x1000380c
cmp dword [esi + 0x79c], ebx
jne 0x1000380c
call fcn.10006e90
jmp 0x10003815
cmp dword [esi + 0x794], ebx
jne 0x10003804
cmp dword [esi + 0x798], ebx
jne 0x10003804
cmp dword [esi + 0x79c], ebx
je 0x10003815
mov dword [esp + 0x4c], 0xe307bdc
push esi
call fcn.10006ee0
add esp, 4
mov dword [0xe318d98], 0xe308b1c
mov eax, dword [esi + 0x738]
test ebp, eax
mov dword [esp + 0x84], 0xe308035
mov dword [esp + 0x94], 0xe30859e
je 0x10003849
mov dword [0xe318d98], 0xe2f7fe0
mov dword [0xe318d9c], 0xe308dff
mov al, byte [esi + 0x738]
test al, 1
je 0x10003867
mov dword [0xe318d9c], 0xe308c31
test dword [esi + 0x738], ebp
je 0x1000388d
mov dword [0xe318d9c], 0xe2f8550
mov al, byte [esi + 0x738]
test al, 1
je 0x1000388d
mov dword [0xe318d9c], 0xe2f86b0
mov dword [0xe318da0], 0xe2f89f0
mov eax, dword [esi + 0x738]
test ebp, eax
je 0x100038ab
mov dword [0xe318da0], 0xe2f80a0
mov dword [0xe318da4], 0xe308fee
mov eax, dword [esi + 0x738]
test ebp, eax
je 0x100038c9
mov dword [0xe318da4], 0xe2f83a0
lea eax, [esp + 0xb0]
lea ecx, [esp + 0xb0]
mov dword [esp + 0x90], eax
mov dword [esp + 0x78], ecx
mov edi, dword [esi + 0x734]
mov eax, dword [esi + 0x24]
not edi
mov ecx, 1
and edi, ecx
shl edi, 1
or edi, ecx
cmp eax, 0x4b594d43
mov dword [esp + 0x88], edi
je 0x1000390d
cmp eax, 0x41424752
jne 0x10003919
mov edi, 4
mov dword [esp + 0x88], edi
cmp eax, 0x59565955
mov dword [esp + 0x38], ebx
mov dword [esp + 0x80], ebx
jne 0x10003948
mov dword [esp + 0x38], ecx
mov dword [0xe318da8], 0xe309195
mov dword [0xe318dac], 0xe309275
jmp 0x10003a93
cmp eax, 0x32595559
jne 0x1000396c
mov dword [esp + 0x38], ecx
mov dword [0xe318da8], 0xe3093c8
mov dword [0xe318dac], 0xe3094a8
jmp 0x10003a93
cmp eax, 0x32315659
je 0x10003985
cmp eax, 0x56555949
je 0x10003985
cmp eax, 0x30323449
jne 0x10003a93
mov dword [0xe318dac], 0xe2f87d0
mov eax, dword [esi + 0x24]
cmp eax, 0x32315659
mov al, byte [esi + 0x4b4]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x80], ecx
jne 0x10003a25
test al, 2
je 0x100039df
mov edx, dword [esi + 0x1c]
push edx
call fcn.10020609
mov ecx, dword [0xe31a78c]
add esp, 4
imul eax, ecx
shr eax, 2
shr ecx, 1
lea edx, [eax + eax]
add eax, ecx
add edx, ecx
mov dword [0xe31a7c0], eax
mov dword [0xe31a7bc], edx
jmp 0x10003a93
mov eax, dword [esi + 0x7a4]
cmp eax, ebx
je 0x100039fe
mov dword [0xe31a7c0], eax
mov eax, dword [esi + 0x7a8]
mov dword [0xe31a7bc], eax
jmp 0x10003a93
mov ecx, dword [esi + 0x1c]
push ecx
call fcn.10020609
imul eax, dword [0xe31a78c]
mov edx, eax
add esp, 4
sar edx, 2
add edx, eax
mov dword [0xe31a7c0], eax
mov dword [0xe31a7bc], edx
jmp 0x10003a93
test al, 2
je 0x10003a57
mov eax, dword [esi + 0x1c]
push eax
call fcn.10020609
mov ecx, dword [0xe31a78c]
add esp, 4
imul eax, ecx
shr eax, 2
shr ecx, 1
lea edx, [eax + eax]
add eax, ecx
add edx, ecx
mov dword [0xe31a7bc], eax
mov dword [0xe31a7c0], edx
jmp 0x10003a93
mov eax, dword [esi + 0x7a4]
cmp eax, ebx
je 0x10003a6e
mov dword [0xe31a7bc], eax
mov ecx, dword [esi + 0x7a8]
jmp 0x10003a8d
mov edx, dword [esi + 0x1c]
push edx
call fcn.10020609
imul eax, dword [0xe31a78c]
mov ecx, eax
add esp, 4
sar ecx, 2
mov dword [0xe31a7bc], eax
add ecx, eax
mov dword [0xe31a7c0], ecx
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x18]
push eax
mov dword [esp + 0x1c], edx
call fcn.10020609
mov ecx, dword [esi + 0x74c]
mov ebx, dword [esi + 0x744]
mov ebp, dword [esi + 0x748]
add esp, 4
cmp edi, 1
mov dword [esp + 0x14], eax
mov dword [esp + 0x34], ecx
jne 0x10003acd
mov dword [esp + 0x34], 0
mov eax, dword [esi + 0x734]
push esi
and eax, 4
mov dword [esp + 0x44], eax
call fcn.10020900
add esp, 4
cmp edi, 1
je 0x10003b00
mov eax, dword [0xe31b454]
test eax, eax
jne 0x10003b00
mov edx, dword [0xe31a7b4]
push edx
call fcn.10007dd0
add esp, 4
mov eax, dword [0xe31b454]
push eax
push 0xe318ddc
push 0xe318e1c
push 0xe313150
push 0xe313140
call fcn.10007760
mov ecx, dword [0xe31b454]
push ecx
push 0xe318ea4
push 0xe3192a4
push 0xe313188
push 0xe313178
call fcn.10007760
add esp, 0x28
cmp edi, 1
je 0x10003b89
mov edx, dword [0xe31b454]
push edx
push 0xe319aac
push 0xe319aec
push 0xe31316c
push 0xe31315c
call fcn.10007760
mov eax, dword [0xe31b454]
push eax
push 0xe319b74
push 0xe319f74
push 0xe31323c
push 0xe31322c
call fcn.10007760
add esp, 0x28
mov eax, dword [esp + 0x40]
test eax, eax
je 0x10003bd6
call fcn.100077f0
mov edx, dword [0xe318d4c]
mov eax, dword [0xe318dbc]
xor ecx, ecx
mov dword [0xe318d84], 0xe2f6cf0
mov dword [0xe31a77c], ecx
sub eax, dword [edx + 0x4c4]
mov edx, dword [0xe318d60]
mov dword [0xe318d60], ecx
add eax, edx
mov dword [0xe318d80], ecx
mov dword [esp + 0xb4], eax
jmp 0x10003bef
mov eax, dword [0xe318d64]
mov dword [0xe318d84], 0xe2f6c30
add eax, 0xfffffe00
mov dword [0xe318d80], eax
mov ecx, dword [0xe31b454]
xor eax, eax
push ecx
push 0xe316e40
push ebx
push 0xe313360
push esi
mov dword [0xe31a7a4], eax
mov dword [0xe31a79c], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x88], eax
mov dword [0xe31a7b0], eax
call fcn.100074f0
add esp, 0x14
cmp edi, 1
je 0x10003c65
mov edx, dword [0xe31b454]
push edx
push 0xe316f80
push ebp
push 0xe3133a0
push esi
call fcn.100074f0
mov ecx, dword [0xe31b454]
add esp, 0x14
test ecx, ecx
jne 0x10003c6b
mov dword [esp + 0x90], 0xe31a7b0
jmp 0x10003c6b
mov ecx, dword [0xe31b454]
mov eax, dword [esp + 0x2c]
xor ebx, ebx
cmp eax, ebx
mov ebp, 0xff
je 0x10003e23
mov eax, 0xe318ddc
cmp edi, 1
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0xc8], eax
jne 0x10003cc3
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x20], 8
lea ebp, [eax + 7]
and ebp, 0xfffffff8
mov dword [esp + 0x1c], ebp
jmp 0x10003da5
mov eax, dword [esp + 0x34]
cmp eax, ebx
jne 0x10003ced
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x20], 8
lea ebx, [ecx + 7]
and ebx, 0xfffffff8
mov ebp, ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x1c], ebp
jmp 0x10003d57
cmp eax, 1
jne 0x10003d16
mov edx, dword [esp + 0x18]
mov dword [esp + 0x20], 8
lea ebp, [edx + 0xf]
and ebp, 0xfffffff0
mov ebx, ebp
mov dword [esp + 0x1c], ebp
shr ebx, 1
mov dword [esp + 0x28], ebx
mov dword [esp + 0x60], ebx
jmp 0x10003d57
cmp eax, 3
jne 0x10003d35
mov eax, dword [esp + 0x18]
lea ebx, [eax + 7]
and ebx, 0xfffffff8
mov ebp, ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x1c], ebp
jmp 0x10003d4f
mov ecx, dword [esp + 0x18]
lea ebp, [ecx + 0xf]
and ebp, 0xfffffff0
mov ebx, ebp
mov dword [esp + 0x1c], ebp
shr ebx, 1
mov dword [esp + 0x28], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x20], 0x10
lea edi, [ebx*8]
lea edx, [edi + edi + 8]
push edx
call fcn.10016bf0
add esp, 4
mov dword [0xe318d5c], eax
test eax, eax
jne 0x10003d95
mov eax, dword [esi + 0x498]
push 2
push eax
mov dword [esi + 0xc], 0xfffffc11
call fcn.1002040d
mov eax, dword [0xe318d5c]
add esp, 8
test eax, eax
je 0x10003d74
add eax, 7
and al, 0xf8
mov dword [0xe318d58], eax
add eax, edi
mov dword [esp + 0x64], eax
mov edi, dword [esp + 0x20]
mov eax, dword [esi + 0x24]
imul edi, ebp
cmp eax, 0x4b594d43
je 0x10003dbd
cmp eax, 0x41424752
jne 0x10003dbf
add edi, edi
lea ecx, [edi + 8]
push ecx
call fcn.10016bf0
add esp, 4
mov dword [0xe318d54], eax
test eax, eax
jne 0x10003df5
mov edx, dword [esi + 0x498]
push 2
push edx
mov dword [esi + 0xc], 0xfffffc11
call fcn.1002040d
mov eax, dword [0xe318d54]
add esp, 8
test eax, eax
je 0x10003dd4
add eax, 7
and al, 0xf8
mov dword [0xe318d50], eax
mov ecx, dword [esi + 0x24]
cmp ecx, 0x4b594d43
je 0x10003e16
cmp ecx, 0x41424752
jne 0x10004540
shr edi, 1
add edi, eax
mov dword [esp + 0x54], edi
jmp 0x10004540
mov eax, dword [esi + 0x24]
mov edx, 3
cmp eax, 0x4b594d43
mov dword [esp + 0x30], edx
je 0x10003e3d
cmp eax, 0x41424752
jne 0x10003e46
mov edx, 4
mov dword [esp + 0x30], edx
cmp dword [0xe318d78], ebx
jne 0x10003e5b
xor edx, edx
mov dx, word [esi + 0x22]
shr edx, 3
mov dword [esp + 0x30], edx
cmp ecx, ebx
mov dword [esp + 0x68], edx
je 0x10003f50
mov al, byte [esi + 0x738]
mov dword [esp + 0x7c], ebx
test al, 0x10
je 0x10003f0c
mov eax, dword [esi + 0x794]
mov dword [esp + 0x7c], 3
cmp eax, ebx
jne 0x10003ef5
cmp dword [esi + 0x798], ebx
jne 0x10003ef5
cmp dword [esi + 0x79c], ebx
jne 0x10003ef5
mov eax, 0x4a79
mov word [0xe317530], 2
mov word [0xe31752e], ax
mov word [0xe31752c], ax
mov word [0xe31752a], ax
mov word [0xe317528], ax
mov eax, 0xffffffee
mov word [0xe317536], bx
mov word [0xe317526], ax
mov word [0xe317524], ax
mov word [0xe317522], ax
mov word [0xe317520], ax
mov word [0xe317534], bx
mov word [0xe317532], bx
jmp 0x10003f50
push esi
call fcn.10006ff0
add esp, 4
test eax, eax
je 0x10003f44
mov dword [esp + 0x7c], 7
jmp 0x10003f44
cmp dword [esi + 0x794], ebx
jne 0x10003f24
cmp dword [esi + 0x798], ebx
jne 0x10003f24
cmp dword [esi + 0x79c], ebx
je 0x10003f50
push esi
mov dword [esp + 0x80], 1
call fcn.10006ff0
add esp, 4
test eax, eax
je 0x10003f44
mov dword [esp + 0x7c], 5
mov ecx, dword [0xe31b454]
mov edx, dword [esp + 0x30]
xor ebx, ebx
cmp edi, 1
jne 0x10003fa1
cmp ecx, ebx
mov dword [esp + 0x20], 8
mov dword [esp + 0x30], edi
je 0x10004538
mov eax, dword [esp + 0x40]
mov dword [esp + 0x5c], 0xe30b368
cmp eax, ebx
mov dword [esp + 0x98], 0xe318ddc
mov dword [0xe318d8c], 0xe309c85
je 0x10004538
mov dword [0xe318d8c], 0xe309e3c
jmp 0x10004538
cmp ecx, ebx
je 0x1000402c
mov eax, dword [esp + 0x40]
cmp eax, ebx
mov eax, 0xe309e3c
jne 0x10003fbb
mov eax, 0xe309c85
cmp edx, 1
mov dword [0xe318d94], eax
mov dword [0xe318d90], eax
mov dword [0xe318d8c], eax
jne 0x1000402c
cmp dword [esp + 0x38], ebx
jne 0x1000402c
mov eax, dword [esi + 0x738]
test eax, 0x80000000
je 0x10003fef
push 2
lea eax, [esi + 0x3c]
push 0x100
push eax
jmp 0x10004018
mov ecx, dword [esp + 0x34]
cmp ecx, ebx
je 0x1000400d
cmp ecx, 1
jne 0x10004000
test cl, al
jne 0x1000400d
push 1
lea ecx, [esi + 0x3c]
push 0x100
push ecx
jmp 0x10004018
push 0
lea edx, [esi + 0x3c]
push 0x100
push edx
call fcn.100097d0
mov ecx, dword [0xe31b454]
mov edx, dword [esp + 0x3c]
add esp, 0xc
xor ebx, ebx
mov eax, dword [esp + 0x34]
cmp eax, ebx
jne 0x1000427c
cmp ecx, ebx
mov dword [esp + 0x20], 8
je 0x10004538
mov eax, dword [esi + 0x24]
mov dword [esp + 0x5c], 0xe30a3cb
cmp eax, 0x4b594d43
je 0x10004061
cmp eax, 0x41424752
jne 0x10004069
mov dword [esp + 0x5c], 0xe30a6c2
test dword [esi + 0x738], 0x80000000
je 0x1000415f
cmp edx, 1
jne 0x1000408d
mov dword [0xe318d88], 0xe30dc4a
jmp 0x10004251
cmp edx, 2
jne 0x100040a1
mov dword [0xe318d88], 0xe30db88
jmp 0x10004251
cmp edx, 3
jne 0x100040b5
mov dword [0xe318d88], 0xe30df5f
jmp 0x10004251
cmp edx, 4
jne 0x10004251
mov dword [0xe318d88], 0xe30d17f
mov eax, dword [esi + 0x24]
cmp eax, 0x4b594d43
jne 0x1000412a
mov dword [0xe318d88], 0xe30d413
mov word [0xe31750e], bp
mov word [0xe31750c], bp
mov word [0xe31750a], bp
mov word [0xe317508], bp
mov eax, dword [esi + 0x738]
test eax, 0x20000000
je 0x10004251
mov word [0xe31750e], bx
mov word [0xe31750c], bx
mov word [0xe31750a], bx
mov word [0xe317508], bx
jmp 0x10004251
cmp eax, 0x41424752
jne 0x10004251
test dword [esi + 0x734], 0x1000000
jne 0x10004150
mov dword [0xe318d88], 0xe30d879
jmp 0x10004251
mov dword [0xe318d88], 0xe30d956
jmp 0x10004251
cmp edx, 1
jne 0x10004173
mov dword [0xe318d88], 0xe30dc4a
jmp 0x10004251
cmp edx, 2
jne 0x10004187
mov dword [0xe318d88], 0xe30da2a
jmp 0x10004251
cmp edx, 3
jne 0x1000419b
mov dword [0xe318d88], 0xe30dd60
jmp 0x10004251
cmp edx, 4
jne 0x10004251
mov dword [0xe318d88], 0xe30cff9
mov eax, dword [esi + 0x24]
cmp eax, 0x4b594d43
jne 0x10004229
mov dword [0xe318d88], 0xe30d247
mov word [0xe317516], bx
mov word [0xe317514], bx
mov word [0xe317512], bx
mov word [0xe317510], bx
mov word [0xe31750e], bp
mov word [0xe31750c], bp
mov word [0xe31750a], bp
mov word [0xe317508], bp
mov eax, dword [esi + 0x738]
test eax, 0x20000000
je 0x10004251
mov eax, 0xffff
mov word [0xe317516], ax
mov word [0xe317514], ax
mov word [0xe317512], ax
mov word [0xe317510], ax
jmp 0x10004109
cmp eax, 0x41424752
jne 0x10004251
mov eax, dword [esi + 0x734]
mov dword [0xe318d88], 0xe30d522
test eax, 0x1000000
je 0x10004251
mov dword [0xe318d88], 0xe30d6d5
mov eax, 0xe318ddc
mov dword [esp + 0xa4], eax
mov dword [esp + 0x98], eax
mov eax, 0xe319aac
mov dword [esp + 0xa0], eax
mov dword [esp + 0x9c], eax
jmp 0x10004538
cmp eax, 1
jne 0x100043a1
cmp ecx, ebx
mov dword [esp + 0x20], 8
je 0x10004538
mov eax, dword [esi + 0x24]
mov dword [esp + 0x5c], 0xe30a8ac
cmp eax, 0x59565955
jne 0x100042cc
cmp ecx, 8
mov dword [0xe318d88], 0xe30f02e
jb 0x100042c0
mov dword [0xe318d88], 0xe30f0dd
add edx, 0x20
mov dword [esp + 0x68], edx
jmp 0x10004400
cmp eax, 0x32595559
jne 0x100042f8
cmp ecx, 8
mov dword [0xe318d88], 0xe30f901
jb 0x100042ec
mov dword [0xe318d88], 0xe30f9c3
add edx, 0x10
mov dword [esp + 0x68], edx
jmp 0x10004400
cmp edx, 1
jne 0x10004324
mov dword [0xe318d88], 0xe30eaac
mov al, byte [esi + 0x738]
test dl, al
je 0x10004400
mov dword [0xe318d88], 0xe30ec15
jmp 0x10004400
cmp edx, 2
jne 0x10004350
mov dword [0xe318d88], 0xe30e77d
mov al, byte [esi + 0x738]
test al, 1
je 0x10004400
mov dword [0xe318d88], 0xe30e91e
jmp 0x10004400
cmp edx, 3
jne 0x1000437c
mov dword [0xe318d88], 0xe30e170
mov al, byte [esi + 0x738]
test al, 1
je 0x10004400
mov dword [0xe318d88], 0xe30e337
jmp 0x10004400
cmp edx, 4
jne 0x10004400
mov dword [0xe318d88], 0xe30e5bb
mov al, byte [esi + 0x738]
test al, 1
je 0x10004400
mov dword [0xe318d88], 0xe30ed3d
jmp 0x10004400
cmp eax, 3
mov dword [esp + 0x20], 0x10
jne 0x1000442b
cmp ecx, ebx
je 0x10004538
cmp edx, 1
mov dword [esp + 0x5c], 0xe30ac0c
jne 0x100043cf
mov dword [0xe318d88], 0xe30c9b0
jmp 0x10004400
cmp edx, 2
jne 0x100043e0
mov dword [0xe318d88], 0xe30c74e
jmp 0x10004400
cmp edx, 3
jne 0x100043f1
mov dword [0xe318d88], 0xe30cc66
jmp 0x10004400
cmp edx, 4
jne 0x10004400
mov dword [0xe318d88], 0xe30c4a1
mov eax, 0xe318ddc
mov dword [esp + 0x9c], eax
mov dword [esp + 0x98], eax
mov eax, 0xe319aac
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa0], eax
jmp 0x10004538
cmp ecx, ebx
je 0x10004538
mov eax, dword [esi + 0x24]
mov dword [esp + 0x5c], 0xe30aedd
cmp eax, 0x59565955
jne 0x10004466
cmp ecx, 8
mov dword [0xe318d88], 0xe30f195
jb 0x1000445e
mov dword [0xe318d88], 0xe30f31f
add edx, 0x20
jmp 0x10004500
cmp eax, 0x32595559
jne 0x1000448b
cmp ecx, 8
mov dword [0xe318d88], 0xe30f4b1
jb 0x10004486
mov dword [0xe318d88], 0xe30f62f
add edx, 0x10
jmp 0x10004500
cmp eax, 0x32315659
je 0x100044e4
cmp eax, 0x56555949
je 0x100044e4
cmp eax, 0x30323449
je 0x100044e4
cmp edx, 1
jne 0x100044b1
mov dword [0xe318d88], 0xe30c204
jmp 0x10004504
cmp edx, 2
jne 0x100044c2
mov dword [0xe318d88], 0xe30bf67
jmp 0x10004504
cmp edx, 3
jne 0x100044d3
mov dword [0xe318d88], 0xe30b883
jmp 0x10004504
cmp edx, 4
jne 0x10004504
mov dword [0xe318d88], 0xe30bc74
jmp 0x10004504
cmp ecx, 8
mov dword [0xe318d88], 0xe30f7c1
jb 0x100044fd
mov dword [0xe318d88], 0xe30f861
add edx, 0x40
mov dword [esp + 0x68], edx
mov eax, 0xe318ddc
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0x98], eax
mov eax, 0xe319aac
mov dword [esp + 0xac], eax
mov dword [esp + 0xa8], eax
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
push esi
mov dword [esp + 0x28], eax
call fcn.10020e79
mov eax, dword [esi + 0x7a0]
xor edi, edi
add esp, 4
cmp eax, edi
je 0x1000459f
mov ecx, dword [esp + 0x34]
cmp ecx, edi
jne 0x10004575
mov ecx, dword [esp + 0x18]
add ecx, 7
shr ecx, 3
mov dword [esp + 0x6c], ecx
jmp 0x100045a8
cmp ecx, 1
je 0x1000458f
cmp ecx, 3
jne 0x1000458f
mov ecx, dword [esp + 0x18]
add ecx, 7
shr ecx, 3
mov dword [esp + 0x6c], ecx
jmp 0x100045a8
mov edx, dword [esp + 0x18]
lea ecx, [edx + 0xf]
shr ecx, 4
mov dword [esp + 0x6c], ecx
jmp 0x100045a8
mov dword [esp + 0x6c], edi
mov eax, 0x7fffffff
mov ecx, dword [esp + 0x2c]
mov dword [0xe31b448], eax
cmp ecx, edi
mov dword [0xe31b44c], edi
mov dword [esp + 0x38], edi
jne 0x100049a5
mov edx, dword [0xe31a7b0]
mov ecx, 0xe316e40
mov dword [esp + 0xf4], ecx
mov dword [esp + 0x100], ecx
mov ecx, dword [esp + 0x18]
lea edx, [edx*4 + 0xe316f80]
imul ecx, dword [esp + 0x30]
mov dword [esp + 0xfc], edx
mov edx, dword [0xe31a780]
mov ebx, dword [0xe318d74]
mov dword [esp + 0x2c], edx
sub edx, ecx
mov dword [esp + 0xc4], edi
mov dword [esp + 0x54], edx
mov edx, dword [esi + 0x734]
test dh, 8
mov dword [esp + 0xc0], edi
mov dword [esp + 0xbc], edi
mov dword [esp + 0xb8], edi
mov dword [esp + 0xf8], 0xe316f80
mov dword [esp + 0x78], edi
je 0x1000464f
test edx, 0x80000000
je 0x1000464f
mov dword [esp + 0x78], 1
cmp dword [0xe318d78], edi
jne 0x1000467a
mov ebp, dword [0xe31a78c]
mov edx, ebp
mov dword [esp + 0x2c], ebp
sub edx, ecx
mov cl, byte [esi + 0x4b4]
test cl, 2
mov dword [esp + 0x54], edx
je 0x1000467a
neg ebp
mov dword [esp + 0x2c], ebp
cmp dword [esp + 0x14], edi
jbe 0x10004958
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x108]
xor ebp, ebp
jmp 0x10004698
mov eax, dword [0xe31b448]
cmp dword [0xe31b450], ebp
jne 0x100046af
cmp dword [esp + 0x38], eax
jne 0x100046af
sub eax, dword [esp + 0x6c]
mov dword [0xe31b448], eax
cmp eax, ebp
jne 0x1000474d
cmp dword [esp + 0x40], ebp
jne 0x10004726
call fcn.10006c40
mov eax, dword [0xe318d60]
mov ecx, dword [0xe318d64]
cmp eax, ecx
jb 0x100046d6
call fcn.1000d0c0
mov ecx, dword [0xe318d60]
mov byte [ecx], 0xff
mov eax, dword [0xe318d60]
mov ecx, dword [0xe318d64]
inc eax
cmp eax, ecx
mov dword [0xe318d60], eax
jb 0x100046f9
call fcn.1000d0c0
mov dl, byte [0xe31b44c]
mov eax, dword [0xe318d60]
sub dl, 0x30
mov byte [eax], dl
mov ecx, dword [0xe318d60]
inc ecx
mov dword [0xe318d60], ecx
mov ecx, dword [0xe31b44c]
inc ecx
and ecx, 7
mov dword [0xe31b44c], ecx
mov eax, dword [esi + 0x7a0]
mov dword [esp + 0xc4], ebp
mov dword [esp + 0xc0], ebp
mov dword [esp + 0xbc], ebp
mov dword [esp + 0xb8], ebp
mov dword [0xe31b448], eax
mov edx, dword [esp + 0x20]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x10]
push esi
push eax
mov dword [0xe31b450], ebp
mov dword [esp + 0x18], edx
call fcn.1000d450
mov eax, dword [esp + 0x28]
add esp, 8
cmp edi, eax
mov eax, dword [esp + 0x10]
jb 0x100047ad
mov ecx, dword [esp + 0x20]
cmp eax, ecx
jae 0x100047a9
mov ecx, dword [esp + 0x14]
mov edx, eax
sub edx, edi
xor edi, edi
add ecx, edx
cmp eax, ebp
mov dword [esp + 0x3c], 0xfffffc0b
mov dword [esp + 0x14], ecx
mov dword [0xe31a784], ecx
je 0x10004958
jmp 0x100047df
sub edi, ecx
jmp 0x100047df
cmp eax, edi
jae 0x100047d7
mov ecx, dword [esp + 0x14]
mov edx, eax
sub edx, edi
mov dword [esp + 0x3c], 0xfffffc0b
add ecx, edx
cmp eax, ebp
mov dword [esp + 0x14], ecx
mov dword [0xe31a784], ecx
je 0x10004958
jmp 0x100047dd
mov eax, edi
mov dword [esp + 0x10], eax
xor edi, edi
cmp dword [0xe318d78], ebp
jne 0x10004853
cmp dword [esp + 0x80], ebp
je 0x1000483c
mov dl, byte [esi + 0x4b4]
mov ecx, dword [esi + 0x4a4]
test dl, 2
lea ebx, [esp + 0xd8]
mov dword [esp + 0xd8], ecx
je 0x1000481c
sub ecx, dword [0xe31a78c]
mov dword [esp + 0xd8], ecx
mov edx, dword [0xe31a7bc]
add edx, ecx
mov dword [esp + 0xdc], edx
mov edx, dword [0xe31a7c0]
add ecx, edx
mov dword [esp + 0xe0], ecx
jmp 0x10004853
mov cl, byte [esi + 0x4b4]
mov ebx, dword [esi + 0x4a4]
test cl, 2
je 0x10004853
sub ebx, dword [0xe31a78c]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
push ecx
lea ecx, [esp + 0x9c]
push edx
push ecx
lea edx, [esp + 0xc4]
lea ecx, [esp + 0x100]
push edx
mov edx, dword [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x7c]
push ebx
push edx
mov edx, dword [esp + 0x34]
push ecx
push edx
push eax
call dword [esp + 0x84]
mov eax, dword [0xe318d78]
mov edx, dword [esp + 0x38]
add esp, 0x28
cmp eax, ebp
jne 0x10004916
mov ecx, dword [esi + 0x4b4]
mov eax, edx
imul eax, dword [0xe31a78c]
and ecx, 2
jne 0x100048b9
add dword [esi + 0x4a4], eax
jmp 0x100048c7
mov ebx, dword [esi + 0x4a4]
sub ebx, eax
mov dword [esi + 0x4a4], ebx
mov ebp, dword [esp + 0x80]
test ebp, ebp
je 0x10004914
lea eax, [eax + eax*2]
xor ebp, ebp
shr eax, 2
cmp ecx, ebp
mov ecx, dword [0xe31a7bc]
jne 0x100048fc
sub ecx, eax
mov dword [0xe31a7bc], ecx
mov ecx, dword [0xe31a7c0]
sub ecx, eax
mov dword [0xe31a7c0], ecx
jmp 0x10004916
add ecx, eax
mov dword [0xe31a7bc], ecx
mov ecx, dword [0xe31a7c0]
add ecx, eax
mov dword [0xe31a7c0], ecx
jmp 0x10004916
xor ebp, ebp
mov eax, dword [esi + 0x734]
test ah, 8
je 0x10004950
test eax, 0x80000000
jne 0x10004950
mov eax, dword [esi + 0x24]
lea ecx, [esi + 0x3c]
push eax
mov eax, dword [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x5c]
push eax
mov eax, dword [esp + 0x24]
push ecx
mov ecx, dword [0xe318d7c]
push eax
push edx
push ebx
push ecx
call fcn.100177e6
add esp, 0x20
cmp edi, ebp
ja 0x10004693
mov eax, dword [esp + 0x80]
test eax, eax
je 0x100052e5
mov edx, dword [esp + 0x108]
test byte [edx + 0x4b4], 2
jne 0x100052e5
mov esi, edx
mov eax, dword [esi + 0x1c]
push eax
call fcn.10020609
imul eax, dword [0xe31a78c]
mov ecx, dword [esi + 0x4a4]
add esp, 4
shr eax, 1
add ecx, eax
mov dword [esi + 0x4a4], ecx
jmp 0x100052e5
cmp dword [esp + 0x20], 8
jne 0x10004e21
cmp dword [esp + 0x14], edi
jbe 0x100052ae
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x48]
mov ebp, dword [esp + 0x1c]
jmp 0x100049cd
mov eax, dword [0xe31b448]
mov ecx, dword [0xe31b450]
xor ebx, ebx
cmp ecx, ebx
jne 0x100049e8
cmp dword [esp + 0x38], eax
jne 0x100049e8
sub eax, dword [esp + 0x6c]
mov dword [0xe31b448], eax
cmp eax, ebx
jne 0x10004a84
cmp dword [esp + 0x40], ebx
jne 0x10004a5e
call fcn.10006c40
mov ecx, dword [0xe318d60]
mov eax, dword [0xe318d64]
cmp ecx, eax
jb 0x10004a0f
call fcn.1000d0c0
mov edx, dword [0xe318d60]
mov byte [edx], 0xff
mov eax, dword [0xe318d60]
mov ecx, dword [0xe318d64]
inc eax
cmp eax, ecx
mov dword [0xe318d60], eax
jb 0x10004a32
call fcn.1000d0c0
mov al, byte [0xe31b44c]
mov ecx, dword [0xe318d60]
sub al, 0x30
mov byte [ecx], al
mov ecx, dword [0xe318d60]
mov edx, dword [0xe31b44c]
inc ecx
inc edx
mov dword [0xe318d60], ecx
and edx, 7
mov dword [0xe31b44c], edx
mov eax, dword [esp + 0x108]
xor edi, edi
xor esi, esi
mov dword [esp + 0x48], edi
mov eax, dword [eax + 0x7a0]
mov dword [esp + 0x44], esi
mov dword [esp + 0x50], ebx
mov dword [esp + 0x74], ebx
mov dword [0xe31b448], eax
mov ecx, dword [esp + 0x108]
lea edx, [esp + 0x10]
push ecx
push edx
mov dword [esp + 0x40], eax
mov dword [0xe31b450], ebx
mov dword [esp + 0x18], 8
call fcn.1000d450
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
add esp, 8
cmp ecx, 8
jb 0x10004afe
cmp eax, 8
jae 0x10004af5
mov edx, eax
mov dword [esp + 0x3c], 0xfffffc0b
sub edx, ecx
mov ecx, dword [esp + 0x14]
add ecx, edx
cmp eax, ebx
mov dword [esp + 0x14], ecx
mov dword [0xe31a784], ecx
mov dword [esp + 0x24], ebx
je 0x100052ae
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x48]
mov ebp, dword [esp + 0x1c]
xor ebx, ebx
jmp 0x10004b40
sub ecx, 8
mov dword [esp + 0x24], ecx
jmp 0x10004b40
cmp eax, ecx
jae 0x10004b36
mov edx, eax
mov dword [esp + 0x3c], 0xfffffc0b
sub edx, ecx
mov ecx, dword [esp + 0x14]
add ecx, edx
cmp eax, ebx
mov dword [esp + 0x14], ecx
mov dword [0xe31a784], ecx
je 0x100052ae
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x48]
mov ebp, dword [esp + 0x1c]
xor ebx, ebx
jmp 0x10004b3c
mov eax, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x24], ebx
cmp dword [esp + 0x88], 1
jne 0x10004b6f
mov ecx, dword [0xe318d50]
mov edx, dword [esp + 0x18]
push ecx
mov ecx, dword [0xe318d74]
push ebp
push eax
mov eax, dword [0xe31a780]
push edx
push eax
push ecx
call fcn.10006b20
add esp, 0x18
jmp 0x10004be7
mov edx, dword [esp + 0x108]
mov ecx, dword [edx + 0x24]
cmp ecx, 0x4b594d43
je 0x10004bc0
cmp ecx, 0x41424752
je 0x10004bc0
mov ecx, dword [esp + 0x64]
mov edx, dword [0xe318d58]
push ecx
mov ecx, dword [0xe318d50]
push edx
mov edx, dword [esp + 0x3c]
push ecx
mov ecx, dword [0xe31a780]
push edx
mov edx, dword [0xe318d74]
push ebp
push eax
mov eax, dword [esp + 0x30]
push eax
push ecx
push edx
call fcn.10006230
add esp, 0x24
jmp 0x10004be7
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x64]
push ecx
mov ecx, dword [0xe318d58]
push edx
mov edx, dword [0xe318d50]
push ecx
push edx
push ebp
push eax
mov eax, dword [esp + 0x30]
push eax
call fcn.100069f0
add esp, 0x1c
cmp ebp, ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x2c], ebx
jbe 0x10004e10
mov ebx, dword [esp + 0x54]
mov eax, dword [esp + 0x64]
sub eax, ebx
mov dword [esp + 0x80], eax
mov eax, dword [0xe31b448]
test eax, eax
jne 0x10004ca8
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x10004c85
call fcn.10006c40
mov ecx, dword [0xe318d60]
mov eax, dword [0xe318d64]
cmp ecx, eax
jb 0x10004c36
call fcn.1000d0c0
mov edx, dword [0xe318d60]
mov byte [edx], 0xff
mov eax, dword [0xe318d60]
mov ecx, dword [0xe318d64]
inc eax
cmp eax, ecx
mov dword [0xe318d60], eax
jb 0x10004c59
call fcn.1000d0c0
mov al, byte [0xe31b44c]
mov ecx, dword [0xe318d60]
sub al, 0x30
mov byte [ecx], al
mov ecx, dword [0xe318d60]
mov edx, dword [0xe31b44c]
inc ecx
inc edx
mov dword [0xe318d60], ecx
and edx, 7
mov dword [0xe31b44c], edx
mov eax, dword [esp + 0x108]
xor esi, esi
xor edi, edi
mov dword [esp + 0x50], esi
mov eax, dword [eax + 0x7a0]
mov dword [esp + 0x74], esi
mov dword [0xe31b450], 1
mov edx, dword [0xe318d50]
mov ecx, dword [esp + 0x50]
dec eax
push ebp
mov dword [0xe31b448], eax
mov eax, dword [esp + 0x14]
add eax, edx
mov dword [0xe31a7ac], ecx
push eax
call dword [esp + 0x54]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xd0]
add eax, 8
push ecx
mov dword [esp + 0x1c], eax
call dword [esp + 0x90]
mov eax, dword [esp + 0x94]
add esp, 0xc
cmp eax, 1
je 0x10004d2a
mov eax, dword [esp + 0x34]
test eax, eax
jbe 0x10004d2a
mov edx, dword [0xe318d50]
mov eax, dword [esp + 0x10]
add eax, edx
push ebp
push eax
call dword [esp + 0x54]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xd4]
add eax, 8
push ecx
mov dword [esp + 0x1c], eax
call dword [esp + 0x90]
add esp, 0xc
mov eax, dword [esp + 0x88]
mov edx, dword [0xe31a7ac]
cmp eax, 1
mov dword [esp + 0x50], edx
je 0x10004dfe
mov ecx, dword [0xe318d58]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x60]
add edx, ecx
push eax
push edx
mov dword [0xe31a7ac], esi
call dword [esp + 0x94]
mov eax, dword [esp + 0x80]
push eax
call dword [esp + 0xa0]
mov edx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x34]
mov esi, dword [0xe31a7ac]
add edx, ebx
push ecx
push edx
mov dword [0xe31a7ac], edi
call dword [esp + 0xa0]
mov eax, dword [esp + 0xa4]
push eax
call dword [esp + 0xac]
mov ecx, dword [esp + 0x120]
mov edi, dword [0xe31a7ac]
add esp, 0x18
mov eax, dword [ecx + 0x24]
cmp eax, 0x4b594d43
je 0x10004dc4
cmp eax, 0x41424752
jne 0x10004df0
mov edx, dword [esp + 0x74]
push ebp
push ebx
mov dword [0xe31a7ac], edx
call dword [esp + 0x54]
mov eax, dword [esp + 0xd0]
push eax
call dword [esp + 0x90]
mov ecx, dword [0xe31a7ac]
add esp, 0xc
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x2c]
add ecx, 8
add ebx, 8
mov dword [esp + 0x2c], ecx
cmp dword [esp + 0x10], ebp
jb 0x10004c08
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], edi
mov eax, dword [esp + 0x24]
test eax, eax
ja 0x100049c8
jmp 0x100052ae
mov edx, dword [0xe318d50]
mov esi, dword [esp + 0x60]
lea ecx, [ebp*8]
mov dword [esp + 0xe4], edi
add edx, ecx
mov dword [esp + 0xec], ecx
mov dword [esp + 0x74], edx
mov edx, dword [0xe318d58]
lea ecx, [ebp*8 + 8]
mov dword [esp + 0xe8], 8
lea edx, [edx + esi*4]
mov dword [esp + 0xf0], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x64]
cmp ecx, edi
lea edx, [edx + ebx*4]
mov dword [esp + 0x54], edx
jbe 0x100052ae
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
mov ebp, ecx
jmp 0x10004e94
mov eax, dword [0xe31b448]
mov ecx, dword [0xe31b450]
test ecx, ecx
jne 0x10004ead
cmp dword [esp + 0x38], eax
jne 0x10004ead
sub eax, dword [esp + 0x6c]
mov dword [0xe31b448], eax
test eax, eax
jne 0x10004f46
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x10004f24
call fcn.10006c40
mov edx, dword [0xe318d60]
mov eax, dword [0xe318d64]
cmp edx, eax
jb 0x10004ed6
call fcn.1000d0c0
mov eax, dword [0xe318d60]
mov byte [eax], 0xff
mov eax, dword [0xe318d60]
mov ecx, dword [0xe318d64]
inc eax
cmp eax, ecx
mov dword [0xe318d60], eax
jb 0x10004ef8
call fcn.1000d0c0
mov cl, byte [0xe31b44c]
mov edx, dword [0xe318d60]
sub cl, 0x30
mov byte [edx], cl
mov edx, dword [0xe318d60]
mov eax, dword [0xe31b44c]
inc edx
inc eax
mov dword [0xe318d60], edx
and eax, 7
mov dword [0xe31b44c], eax
mov ebx, dword [esp + 0x108]
xor eax, eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x50], eax
mov eax, dword [ebx + 0x7a0]
mov dword [0xe31b448], eax
jmp 0x10004f4d
mov ebx, dword [esp + 0x108]
lea ecx, [esp + 0x10]
push ebx
push ecx
mov dword [esp + 0x40], eax
mov dword [0xe31b450], 0
mov dword [esp + 0x18], 8
call fcn.1000d450
mov eax, dword [esp + 0x18]
add esp, 8
cmp edi, 8
jb 0x10004fac
cmp eax, 8
jae 0x10004fa7
mov edx, eax
mov dword [esp + 0x3c], 0xfffffc0b
sub edx, edi
xor edi, edi
add ebp, edx
mov dword [esp + 0x24], edi
test eax, eax
mov dword [esp + 0x14], ebp
mov dword [0xe31a784], ebp
je 0x100052ae
jmp 0x10004fde
sub edi, 8
jmp 0x10004fda
cmp eax, edi
jae 0x10004fd2
mov ecx, eax
mov dword [esp + 0x3c], 0xfffffc0b
sub ecx, edi
add ebp, ecx
test eax, eax
mov dword [esp + 0x14], ebp
mov dword [0xe31a784], ebp
je 0x100052ae
jmp 0x10004fd8
mov eax, edi
mov dword [esp + 0x10], eax
xor edi, edi
mov dword [esp + 0x24], edi
mov edx, dword [esp + 0x64]
mov ecx, dword [0xe318d58]
push edx
mov edx, dword [0xe318d50]
push ecx
mov ecx, dword [esp + 0x3c]
push edx
mov edx, dword [esp + 0x24]
push ecx
mov ecx, dword [0xe318d74]
push esi
push eax
mov eax, dword [0xe31a780]
push edx
push eax
push ecx
call fcn.10006230
add esp, 0x24
xor eax, eax
test edi, edi
mov dword [esp + 0x10], eax
jbe 0x10005089
lea edx, [esp + 0x10]
push ebx
push edx
mov dword [esp + 0x18], 8
call fcn.1000d450
mov eax, dword [esp + 0x18]
add esp, 8
cmp edi, 8
jb 0x1000505f
cmp eax, 8
jae 0x1000505a
mov ecx, eax
mov dword [esp + 0x3c], 0xfffffc0b
sub ecx, edi
add ebp, ecx
mov dword [esp + 0x14], ebp
mov dword [0xe31a784], ebp
jmp 0x10005083
sub edi, 8
jmp 0x10005085
cmp eax, edi
jae 0x1000507d
mov edx, eax
mov dword [esp + 0x3c], 0xfffffc0b
sub edx, edi
add ebp, edx
mov dword [esp + 0x14], ebp
mov dword [0xe31a784], ebp
jmp 0x10005083
mov eax, edi
mov dword [esp + 0x10], eax
xor edi, edi
mov dword [esp + 0x24], edi
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x78]
push edx
mov edx, dword [esp + 0x3c]
push ecx
mov ecx, dword [0xe31a780]
push edx
mov edx, dword [0xe318d74]
push esi
push eax
mov eax, dword [esp + 0x30]
push eax
push ecx
push edx
call fcn.10006230
add esp, 0x24
xor ebx, ebx
test esi, esi
mov dword [esp + 0x10], ebx
jbe 0x100052a6
mov eax, dword [0xe31b448]
xor esi, esi
cmp eax, esi
jne 0x10005169
cmp dword [esp + 0x40], esi
jne 0x10005146
call fcn.10006c40
mov eax, dword [0xe318d60]
mov ecx, dword [0xe318d64]
cmp eax, ecx
jb 0x100050f6
call fcn.1000d0c0
mov ecx, dword [0xe318d60]
mov byte [ecx], 0xff
mov eax, dword [0xe318d60]
mov ecx, dword [0xe318d64]
inc eax
cmp eax, ecx
mov dword [0xe318d60], eax
jb 0x10005119
call fcn.1000d0c0
mov dl, byte [0xe31b44c]
mov eax, dword [0xe318d60]
sub dl, 0x30
mov byte [eax], dl
mov ecx, dword [0xe318d60]
inc ecx
mov dword [0xe318d60], ecx
mov ecx, dword [0xe31b44c]
inc ecx
and ecx, 7
mov dword [0xe31b44c], ecx
mov edx, dword [esp + 0x108]
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x50], esi
mov eax, dword [edx + 0x7a0]
mov dword [0xe31b450], 1
dec eax
mov dword [0xe31b448], eax
mov eax, dword [esp + 0x50]
mov dword [0xe31a7ac], eax
mov eax, dword [esp + 0x34]
cmp eax, 2
jne 0x100051c2
mov ebp, dword [esp + 0x84]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + esi + 0xe4]
mov edx, dword [esp + 0x10]
mov eax, dword [0xe318d50]
add ecx, edx
add ecx, eax
push edi
push ecx
call dword [esp + 0x54]
mov edx, dword [esp + esi + 0xd0]
push edx
call ebp
add esi, 4
add esp, 0xc
cmp esi, 0x10
jb 0x1000518c
add dword [esp + 0x10], 0x10
jmp 0x10005214
lea edi, [esp + 0xc8]
lea esi, [esp + 0xe4]
mov ebp, 2
mov ecx, dword [0xe318d50]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
add edx, ecx
mov ecx, dword [esi]
push eax
add edx, ecx
push edx
call dword [esp + 0x54]
mov eax, dword [edi]
push eax
call dword [esp + 0x90]
add esp, 0xc
add esi, 8
add edi, 4
dec ebp
jne 0x100051d5
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
add eax, 8
mov dword [esp + 0x10], eax
mov ecx, dword [0xe31a7ac]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x60]
mov ebp, dword [esp + 0x8c]
mov dword [esp + 0x50], ecx
mov ecx, dword [0xe318d58]
mov dword [0xe31a7ac], edx
push eax
lea edx, [ebx + ecx]
push edx
call ebp
mov eax, dword [esp + 0x80]
mov esi, dword [esp + 0x9c]
push eax
call esi
mov ecx, dword [0xe31a7ac]
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x70]
mov dword [0xe31a7ac], edx
push eax
lea edx, [ebx + ecx]
push edx
call ebp
mov eax, dword [esp + 0xa4]
add ebx, 8
push eax
call esi
mov eax, dword [esp + 0x28]
mov ecx, dword [0xe31a7ac]
add esp, 0x18
cmp eax, edi
mov dword [esp + 0x48], ecx
jb 0x100050c8
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
test edi, edi
ja 0x10004e8f
mov edx, dword [0xe318d54]
push edx
call fcn.10016cb0
mov eax, dword [esp + 0x8c]
add esp, 4
xor esi, esi
cmp eax, 1
mov dword [0xe318d54], esi
je 0x100052e5
mov eax, dword [0xe318d5c]
push eax
call fcn.10016cb0
add esp, 4
mov dword [0xe318d5c], esi
mov eax, dword [0xe318d78]
test eax, eax
je 0x10005301
push eax
call fcn.10016cb0
add esp, 4
mov dword [0xe318d78], 0
call fcn.10006c40
mov eax, dword [esp + 0x40]
test eax, eax
mov eax, dword [0xe318d60]
je 0x100061ce
mov edi, dword [esp + 0x108]
test eax, eax
jne 0x1000533a
mov ecx, dword [edi + 0x498]
push 2
push ecx
mov dword [edi + 0xc], 0xfffffc0b
call fcn.1002040d
add esp, 8
mov edx, dword [0xe318d60]
push 0xe31510c
push 0xe315124
push 0xe314eec
mov byte [edx], 0
mov eax, dword [0xe318d60]
inc eax
push 0x11
push 0xf
mov dword [0xe318d60], eax
push 0xe318e5c
mov byte [eax], 0
call fcn.10007840
push 0xe315134
push 0xe3148c0
push 0xe3148a0
push 0x100
push 0xfe
push 0xe3196a4
call fcn.10007840
mov ebp, dword [esp + 0xb8]
add esp, 0x30
cmp ebp, 1
je 0x100053e3
push 0xe314bc0
push 0xe315114
push 0xe314ec8
push 0x11
push 0xf
push 0xe319b2c
call fcn.10007840
push 0xe314ec4
push 0xe3149d0
push 0xe3149b0
push 0x100
push 0xfe
push 0xe31a374
call fcn.10007840
add esp, 0x30
mov eax, dword [0xe31b454]
push eax
push 0xe318ddc
push 0xe318e1c
push 0xe315124
push 0xe314eec
call fcn.10007760
mov ecx, dword [0xe31b454]
push ecx
push 0xe318ea4
push 0xe3192a4
push 0xe3148c0
push 0xe3148a0
call fcn.10007760
add esp, 0x28
cmp ebp, 1
je 0x1000546c
mov edx, dword [0xe31b454]
push edx
push 0xe319aac
push 0xe319aec
push 0xe315114
push 0xe314ec8
call fcn.10007760
mov eax, dword [0xe31b454]
push eax
push 0xe319b74
push 0xe319f74
push 0xe3149d0
push 0xe3149b0
call fcn.10007760
add esp, 0x28
mov eax, dword [0xe31b454]
test eax, eax
je 0x10005533
push 0x8210
call fcn.10016bf0
add esp, 4
mov dword [0xe318d3c], eax
test eax, eax
mov esi, 0xfffffc11
jne 0x100054b1
mov ecx, dword [edi + 0x498]
push 2
push ecx
mov dword [edi + 0xc], esi
call fcn.1002040d
mov eax, dword [0xe318d3c]
add esp, 8
test eax, eax
je 0x10005494
push 0xa2
push 0xc
push 0xe313188
push 0xe313178
push 0xe313150
push 0xe313140
push eax
call fcn.100072c0
add esp, 0x1c
cmp ebp, 1
je 0x10005538
push 0x8210
call fcn.10016bf0
add esp, 4
mov dword [0xe318d40], eax
test eax, eax
jne 0x1000550d
mov edx, dword [edi + 0x498]
push 2
push edx
mov dword [edi + 0xc], esi
call fcn.1002040d
mov eax, dword [0xe318d40]
add esp, 8
test eax, eax
je 0x100054f0
push 0xa2
push 0xc
push 0xe31323c
push 0xe31322c
push 0xe31316c
push 0xe31315c
push eax
call fcn.100072c0
add esp, 0x1c
jmp 0x10005538
call fcn.10007bc0
mov eax, dword [0xe318d4c]
mov ecx, dword [0xe318dbc]
mov ebx, dword [esp + 0xb4]
mov dword [0xe318d84], 0xe2f6c30
mov eax, dword [eax + 0x4c4]
sub eax, ecx
add eax, ebx
mov dword [0xe318d60], eax
mov ecx, dword [edi + 0x4c0]
dec ecx
cmp ecx, eax
mov dword [0xe318d64], ecx
jae 0x10005580
mov ecx, dword [edi + 0x4c8]
mov dword [0xe318d64], ecx
lea edx, [ecx - 0x200]
mov dword [0xe318d80], edx
mov edx, dword [edi + 0x750]
cmp edx, 3
je 0x100055ae
mov edx, dword [edi + 0x4d8]
mov esi, dword [edi + 0x4d4]
or edx, esi
je 0x100055ae
mov esi, 1
jmp 0x100055b0
xor esi, esi
cmp eax, ecx
jb 0x100055be
call fcn.1000d0c0
mov eax, dword [0xe318d60]
mov byte [eax], 0xff
mov eax, dword [0xe318d60]
mov ecx, dword [0xe318d64]
inc eax
cmp eax, ecx
mov dword [0xe318d60], eax
jb 0x100055db
call fcn.1000d0c0
mov eax, dword [0xe318d60]
mov byte [eax], 0xc4
mov ecx, dword [0xe318d60]
mov edx, dword [0xe315134]
inc ecx
mov dword [0xe318d60], ecx
mov ecx, dword [0xe31510c]
cmp ebp, 1
lea ebx, [edx + ecx + 0x24]
je 0x10005616
mov eax, dword [0xe314bc0]
mov ecx, dword [0xe314ec4]
add ecx, eax
lea ebx, [ebx + ecx + 0x22]
mov edx, dword [0xe318d60]
mov eax, dword [0xe318d64]
cmp edx, eax
jb 0x1000562a
call fcn.1000d0c0
mov ecx, dword [0xe318d60]
mov eax, ebx
shr eax, 8
mov byte [ecx], al
mov eax, dword [0xe318d60]
mov ecx, dword [0xe318d64]
inc eax
cmp eax, ecx
mov dword [0xe318d60], eax
jb 0x10005651
call fcn.1000d0c0
mov edx, dword [0xe318d60]
mov byte [edx], bl
mov eax, dword [0xe318d60]
mov ecx, dword [0xe318d64]
inc eax
cmp eax, ecx
mov dword [0xe318d60], eax
jb 0x10005673
call fcn.1000d0c0
mov eax, dword [0xe318d60]
push 0x10
push 0xe314eec
mov byte [eax], 0
mov eax, dword [0xe318d60]
mov edx, dword [0xe318d64]
inc eax
mov dword [0xe318d60], eax
lea ecx, [eax + 0x10]
cmp ecx, edx
ja 0x100056b2
push eax
call fcn.10020446
mov eax, dword [0xe318d60]
add esp, 0xc
add eax, 0x10
mov dword [0xe318d60], eax
jmp 0x100056bf
call fcn.1000d380
mov eax, dword [0xe318d60]
add esp, 8
mov ecx, dword [0xe31510c]
mov ebx, dword [0xe318d64]
test esi, esi
lea edx, [ecx + eax]
jne 0x100056f1
cmp edx, ebx
push ecx
push 0xe315124
ja 0x100056e7
push eax
call fcn.10020446
add esp, 0xc
jmp 0x1000573a
call fcn.1000d380
add esp, 8
jmp 0x1000574d
cmp ebx, edx
jae 0x10005712
call fcn.1000d0c0
mov ecx, dword [0xe31510c]
mov eax, dword [0xe318d60]
mov ebx, dword [0xe318d64]
lea edx, [ecx + eax]
cmp ebx, edx
jb 0x100056f5
push ecx
push 0xe315124
push eax
call fcn.10020446
mov eax, dword [0xe31510c]
mov ecx, dword [0xe318d60]
push eax
lea edx, [edi + 0x4d4]
push ecx
push edx
call fcn.10009730
add esp, 0x18
mov eax, dword [0xe31510c]
mov ecx, dword [0xe318d60]
add ecx, eax
mov dword [0xe318d60], ecx
mov ecx, dword [0xe318d60]
mov eax, dword [0xe318d64]
cmp ecx, eax
jb 0x10005761
call fcn.1000d0c0
mov edx, dword [0xe318d60]
push 0x10
push 0xe3148a0
mov byte [edx], 0x10
mov eax, dword [0xe318d60]
mov edx, dword [0xe318d64]
inc eax
mov dword [0xe318d60], eax
lea ecx, [eax + 0x10]
cmp ecx, edx
ja 0x100057a1
push eax
call fcn.10020446
mov eax, dword [0xe318d60]
add esp, 0xc
add eax, 0x10
mov dword [0xe318d60], eax
jmp 0x100057ae
call fcn.1000d380
mov eax, dword [0xe318d60]
add esp, 8
mov ecx, dword [0xe315134]
mov ebx, dword [0xe318d64]
test esi, esi
lea edx, [ecx + eax]
jne 0x100057e5
cmp edx, ebx
push ecx
push 0xe3148c0
ja 0x100057d6
push eax
call fcn.10020446
add esp, 0xc
jmp 0x1000582e
call fcn.1000d380
mov eax, dword [0xe318d60]
add esp, 8
jmp 0x10005840
cmp ebx, edx
jae 0x10005806
call fcn.1000d0c0
mov ecx, dword [0xe315134]
mov eax, dword [0xe318d60]
mov ebx, dword [0xe318d64]
lea edx, [ecx + eax]
cmp ebx, edx
jb 0x100057e9
push ecx
push 0xe3148c0
push eax
call fcn.10020446
mov eax, dword [0xe315134]
mov ecx, dword [0xe318d60]
push eax
lea edx, [edi + 0x4d4]
push ecx
push edx
call fcn.10009730
add esp, 0x18
mov eax, dword [0xe318d60]
mov ecx, dword [0xe315134]
add eax, ecx
mov dword [0xe318d60], eax
cmp ebp, 1
je 0x10005a78
cmp eax, dword [0xe318d64]
jb 0x1000585b
call fcn.1000d0c0
mov eax, dword [0xe318d60]
mov byte [eax], 1
mov eax, dword [0xe318d60]
mov edx, dword [0xe318d64]
inc eax
push 0x10
mov dword [0xe318d60], eax
lea ecx, [eax + 0x10]
push 0xe314ec8
cmp ecx, edx
ja 0x10005895
push eax
call fcn.10020446
mov eax, dword [0xe318d60]
add esp, 0xc
add eax, 0x10
mov dword [0xe318d60], eax
jmp 0x100058a2
call fcn.1000d380
mov eax, dword [0xe318d60]
add esp, 8
mov ecx, dword [0xe314bc0]
mov ebx, dword [0xe318d64]
test esi, esi
lea edx, [ecx + eax]
jne 0x100058d4
cmp edx, ebx
push ecx
push 0xe315114
ja 0x100058ca
push eax
call fcn.10020446
add esp, 0xc
jmp 0x1000591d
call fcn.1000d380
add esp, 8
jmp 0x10005930
cmp ebx, edx
jae 0x100058f5
call fcn.1000d0c0
mov ecx, dword [0xe314bc0]
mov eax, dword [0xe318d60]
mov ebx, dword [0xe318d64]
lea edx, [ecx + eax]
cmp ebx, edx
jb 0x100058d8
push ecx
push 0xe315114
push eax
call fcn.10020446
mov eax, dword [0xe314bc0]
mov ecx, dword [0xe318d60]
push eax
lea edx, [edi + 0x4d4]
push ecx
push edx
call fcn.10009730
add esp, 0x18
mov eax, dword [0xe314bc0]
mov ecx, dword [0xe318d60]
add ecx, eax
mov dword [0xe318d60], ecx
mov ecx, dword [0xe318d60]
mov eax, dword [0xe318d64]
cmp ecx, eax
jb 0x10005944
call fcn.1000d0c0
mov edx, dword [0xe318d60]
push 0x10
push 0xe3149b0
mov byte [edx], 0x11
mov eax, dword [0xe318d60]
mov edx, dword [0xe318d64]
inc eax
mov dword [0xe318d60], eax
lea ecx, [eax + 0x10]
cmp ecx, edx
ja 0x10005984
push eax
call fcn.10020446
mov eax, dword [0xe318d60]
add esp, 0xc
add eax, 0x10
mov dword [0xe318d60], eax
jmp 0x10005991
call fcn.1000d380
mov eax, dword [0xe318d60]
add esp, 8
mov ecx, dword [0xe314ec4]
test esi, esi
mov esi, dword [0xe318d64]
lea edx, [ecx + eax]
jne 0x10005a2a
cmp edx, esi
push ecx
push 0xe3149d0
ja 0x10005a1b
push eax
call fcn.10020446
add esp, 0xc
mov eax, dword [0xe318d60]
mov ecx, dword [0xe314ec4]
add eax, ecx
mov dword [0xe318d60], eax
mov ecx, dword [edi + 0x24]
cmp ecx, 0x4b594d43
je 0x10005aa4
cmp ecx, 0x41424752
je 0x10005aa4
mov ecx, dword [0xe318d64]
lea edx, [eax + 0xe]
cmp edx, ecx
push 0xe
push 0xe313578
ja 0x10005ad0
push eax
call fcn.10020446
mov eax, dword [0xe318d60]
add esp, 0xc
add eax, 0xe
mov dword [0xe318d60], eax
jmp 0x10005ad8
call fcn.1000d380
mov eax, dword [0xe318d60]
add esp, 8
jmp 0x100059cd
cmp esi, edx
jae 0x10005a4b
call fcn.1000d0c0
mov ecx, dword [0xe314ec4]
mov eax, dword [0xe318d60]
mov esi, dword [0xe318d64]
lea edx, [ecx + eax]
cmp esi, edx
jb 0x10005a2e
push ecx
push 0xe3149d0
push eax
call fcn.10020446
mov eax, dword [0xe314ec4]
mov ecx, dword [0xe318d60]
push eax
lea edx, [edi + 0x4d4]
push ecx
push edx
call fcn.10009730
add esp, 0x18
jmp 0x100059bb
mov edx, dword [0xe318d64]
lea ecx, [eax + 0xa]
cmp ecx, edx
push 0xa
push 0xe313598
ja 0x10005ad0
push eax
call fcn.10020446
mov eax, dword [0xe318d60]
add esp, 0xc
add eax, 0xa
mov dword [0xe318d60], eax
jmp 0x10005ad8
mov edx, dword [0xe318d64]
lea ecx, [eax + 0x10]
cmp ecx, edx
push 0x10
push 0xe313588
ja 0x10005ad0
push eax
call fcn.10020446
mov eax, dword [0xe318d60]
add esp, 0xc
add eax, 0x10
mov dword [0xe318d60], eax
jmp 0x10005ad8
call fcn.1000d380
add esp, 8
mov edx, dword [0xe318d68]
mov eax, dword [0xe318d6c]
mov dword [0xe318db0], edx
mov dword [0xe318db4], eax
call fcn.10007f20
mov eax, dword [edi + 0x7a0]
test eax, eax
jne 0x10005b02
mov eax, 0x7fffffff
cmp ebp, 1
mov dword [0xe31b448], eax
mov dword [0xe31b44c], 0
jne 0x10005be3
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
add ecx, 7
add edx, 7
shr ecx, 3
shr edx, 3
imul ecx, edx
test ecx, ecx
jbe 0x100060ed
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x108]
mov ebx, ecx
jmp 0x10005b4d
mov eax, dword [0xe31b448]
test eax, eax
jne 0x10005bc0
call fcn.10006c40
mov eax, dword [0xe318d60]
mov ecx, dword [0xe318d64]
cmp eax, ecx
jb 0x10005b6a
call fcn.1000d0c0
mov ecx, dword [0xe318d60]
mov byte [ecx], 0xff
mov eax, dword [0xe318d60]
mov ecx, dword [0xe318d64]
inc eax
cmp eax, ecx
mov dword [0xe318d60], eax
jb 0x10005b8d
call fcn.1000d0c0
mov dl, byte [0xe31b44c]
mov eax, dword [0xe318d60]
sub dl, 0x30
mov byte [eax], dl
mov ecx, dword [0xe318d60]
inc ecx
mov dword [0xe318d60], ecx
mov ecx, dword [0xe31b44c]
inc ecx
and ecx, 7
mov dword [0xe31b44c], ecx
mov eax, dword [esi + 0x7a0]
mov edx, dword [0xe318d3c]
dec eax
push 0xe318ddc
push edx
mov dword [0xe31b448], eax
call edi
add esp, 8
dec ebx
jne 0x10005b48
jmp 0x100060ed
mov ecx, dword [edi + 0x24]
cmp ecx, 0x4b594d43
je 0x10005ffd
cmp ecx, 0x41424752
je 0x10005ffd
mov ecx, dword [esp + 0x34]
test ecx, ecx
jne 0x10005cf2
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
add ecx, 7
add edx, 7
shr ecx, 3
shr edx, 3
imul ecx, edx
test ecx, ecx
jbe 0x100060ed
mov edi, dword [esp + 0x58]
mov ebp, dword [esp + 0x108]
mov esi, dword [esp + 0x70]
mov ebx, ecx
jmp 0x10005c41
mov eax, dword [0xe31b448]
test eax, eax
jne 0x10005cb4
call fcn.10006c40
mov eax, dword [0xe318d60]
mov ecx, dword [0xe318d64]
cmp eax, ecx
jb 0x10005c5e
call fcn.1000d0c0
mov ecx, dword [0xe318d60]
mov byte [ecx], 0xff
mov eax, dword [0xe318d60]
mov ecx, dword [0xe318d64]
inc eax
cmp eax, ecx
mov dword [0xe318d60], eax
jb 0x10005c81
call fcn.1000d0c0
mov dl, byte [0xe31b44c]
mov eax, dword [0xe318d60]
sub dl, 0x30
mov byte [eax], dl
mov ecx, dword [0xe318d60]
inc ecx
mov dword [0xe318d60], ecx
mov ecx, dword [0xe31b44c]
inc ecx
and ecx, 7
mov dword [0xe31b44c], ecx
mov eax, dword [ebp + 0x7a0]
mov edx, dword [0xe318d3c]
dec eax
push 0xe318ddc
push edx
mov dword [0xe31b448], eax
call edi
mov eax, dword [0xe318d40]
push 0xe319aac
push eax
call esi
mov ecx, dword [0xe318d40]
push 0xe319aac
push ecx
call esi
add esp, 0x18
dec ebx
jne 0x10005c3c
jmp 0x100060ed
cmp ecx, 1
jne 0x10005df1
mov edx, dword [esp + 0x14]
lea ecx, [edx + 7]
mov edx, dword [esp + 0x18]
add edx, 0xf
shr ecx, 3
shr edx, 4
imul ecx, edx
test ecx, ecx
jbe 0x100060ed
mov esi, dword [esp + 0x58]
mov ebp, dword [esp + 0x108]
mov edi, dword [esp + 0x70]
mov ebx, ecx
jmp 0x10005d32
mov eax, dword [0xe31b448]
test eax, eax
jne 0x10005da5
call fcn.10006c40
mov eax, dword [0xe318d60]
mov ecx, dword [0xe318d64]
cmp eax, ecx
jb 0x10005d4f
call fcn.1000d0c0
mov ecx, dword [0xe318d60]
mov byte [ecx], 0xff
mov eax, dword [0xe318d60]
mov ecx, dword [0xe318d64]
inc eax
cmp eax, ecx
mov dword [0xe318d60], eax
jb 0x10005d72
call fcn.1000d0c0
mov dl, byte [0xe31b44c]
mov eax, dword [0xe318d60]
sub dl, 0x30
mov byte [eax], dl
mov ecx, dword [0xe318d60]
inc ecx
mov dword [0xe318d60], ecx
mov ecx, dword [0xe31b44c]
inc ecx
and ecx, 7
mov dword [0xe31b44c], ecx
mov eax, dword [ebp + 0x7a0]
mov edx, dword [0xe318d3c]
dec eax
push 0xe318ddc
push edx
mov dword [0xe31b448], eax
call esi
mov eax, dword [0xe318d3c]
push 0xe318ddc
push eax
call esi
mov ecx, dword [0xe318d40]
push 0xe319aac
push ecx
call edi
mov edx, dword [0xe318d40]
push 0xe319aac
push edx
call edi
add esp, 0x20
dec ebx
jne 0x10005d2d
jmp 0x100060ed
cmp ecx, 3
mov ecx, dword [esp + 0x14]
jne 0x10005ef0
mov edx, dword [esp + 0x18]
add ecx, 0xf
add edx, 7
shr ecx, 4
shr edx, 3
imul ecx, edx
test ecx, ecx
jbe 0x100060ed
mov esi, dword [esp + 0x58]
mov ebp, dword [esp + 0x108]
mov edi, dword [esp + 0x70]
mov ebx, ecx
jmp 0x10005e31
mov eax, dword [0xe31b448]
test eax, eax
jne 0x10005ea4
call fcn.10006c40
mov eax, dword [0xe318d60]
mov ecx, dword [0xe318d64]
cmp eax, ecx
jb 0x10005e4e
call fcn.1000d0c0
mov ecx, dword [0xe318d60]
mov byte [ecx], 0xff
mov eax, dword [0xe318d60]
mov ecx, dword [0xe318d64]
inc eax
cmp eax, ecx
mov dword [0xe318d60], eax
jb 0x10005e71
call fcn.1000d0c0
mov dl, byte [0xe31b44c]
mov eax, dword [0xe318d60]
sub dl, 0x30
mov byte [eax], dl
mov ecx, dword [0xe318d60]
inc ecx
mov dword [0xe318d60], ecx
mov ecx, dword [0xe31b44c]
inc ecx
and ecx, 7
mov dword [0xe31b44c], ecx
mov eax, dword [ebp + 0x7a0]
mov edx, dword [0xe318d3c]
dec eax
push 0xe318ddc
push edx
mov dword [0xe31b448], eax
call esi
mov eax, dword [0xe318d3c]
push 0xe318ddc
push eax
call esi
mov ecx, dword [0xe318d40]
push 0xe319aac
push ecx
call edi
mov edx, dword [0xe318d40]
push 0xe319aac
push edx
call edi
add esp, 0x20
dec ebx
jne 0x10005e2c
jmp 0x100060ed
mov edx, dword [esp + 0x18]
add ecx, 0xf
add edx, 0xf
shr ecx, 4
shr edx, 4
imul ecx, edx
test ecx, ecx
jbe 0x100060ed
mov esi, dword [esp + 0x58]
mov ebp, dword [esp + 0x108]
mov edi, dword [esp + 0x70]
mov ebx, ecx
jmp 0x10005f23
mov eax, dword [0xe31b448]
test eax, eax
jne 0x10005f96
call fcn.10006c40
mov eax, dword [0xe318d60]
mov ecx, dword [0xe318d64]
cmp eax, ecx
jb 0x10005f40
call fcn.1000d0c0
mov ecx, dword [0xe318d60]
mov byte [ecx], 0xff
mov eax, dword [0xe318d60]
mov ecx, dword [0xe318d64]
inc eax
cmp eax, ecx
mov dword [0xe318d60], eax
jb 0x10005f63
call fcn.1000d0c0
mov dl, byte [0xe31b44c]
mov eax, dword [0xe318d60]
sub dl, 0x30
mov byte [eax], dl
mov ecx, dword [0xe318d60]
inc ecx
mov dword [0xe318d60], ecx
mov ecx, dword [0xe31b44c]
inc ecx
and ecx, 7
mov dword [0xe31b44c], ecx
mov eax, dword [ebp + 0x7a0]
mov edx, dword [0xe318d3c]
dec eax
push 0xe318ddc
push edx
mov dword [0xe31b448], eax
call esi
mov eax, dword [0xe318d3c]
push 0xe318ddc
push eax
call esi
mov ecx, dword [0xe318d3c]
push 0xe318ddc
push ecx
call esi
mov edx, dword [0xe318d3c]
push 0xe318ddc
push edx
call esi
mov eax, dword [0xe318d40]
push 0xe319aac
push eax
call edi
mov ecx, dword [0xe318d40]
push 0xe319aac
push ecx
call edi
add esp, 0x30
dec ebx
jne 0x10005f1e
jmp 0x100060ed
mov edx, dword [esp + 0x14]
lea ecx, [edx + 7]
mov edx, dword [esp + 0x18]
add edx, 7
shr ecx, 3
shr edx, 3
imul ecx, edx
test ecx, ecx
jbe 0x100060ed
mov ebx, ecx
jmp 0x10006025
mov eax, dword [0xe31b448]
test eax, eax
jne 0x1000609f
call fcn.10006c40
mov eax, dword [0xe318d60]
mov ecx, dword [0xe318d64]
cmp eax, ecx
jb 0x10006042
call fcn.1000d0c0
mov ecx, dword [0xe318d60]
mov byte [ecx], 0xff
mov eax, dword [0xe318d60]
mov ecx, dword [0xe318d64]
inc eax
cmp eax, ecx
mov dword [0xe318d60], eax
jb 0x10006065
call fcn.1000d0c0
mov dl, byte [0xe31b44c]
mov eax, dword [0xe318d60]
sub dl, 0x30
mov byte [eax], dl
mov ecx, dword [0xe318d60]
mov edx, dword [esp + 0x108]
inc ecx
mov dword [0xe318d60], ecx
mov ecx, dword [0xe31b44c]
inc ecx
and ecx, 7
mov dword [0xe31b44c], ecx
mov eax, dword [edx + 0x7a0]
mov esi, dword [esp + 0x58]
dec eax
mov dword [0xe31b448], eax
mov eax, dword [0xe318d3c]
push 0xe318ddc
push eax
call esi
mov ecx, dword [0xe318d40]
mov edi, dword [esp + 0x78]
push 0xe319aac
push ecx
call edi
mov edx, dword [0xe318d40]
push 0xe319aac
push edx
call edi
mov eax, dword [0xe318d3c]
push 0xe318ddc
push eax
call esi
add esp, 0x20
dec ebx
jne 0x10006020
call fcn.10006c40
mov ecx, dword [0xe318d60]
mov eax, dword [0xe318d64]
cmp ecx, eax
jb 0x10006106
call fcn.1000d0c0
mov edx, dword [0xe318d60]
mov byte [edx], 0xff
mov eax, dword [0xe318d60]
mov ecx, dword [0xe318d64]
inc eax
cmp eax, ecx
mov dword [0xe318d60], eax
jb 0x10006129
call fcn.1000d0c0
mov eax, dword [0xe318d60]
xor ebp, ebp
xor ebx, ebx
mov byte [eax], 0xd9
mov ecx, dword [0xe318d60]
inc ecx
mov esi, dword [0xe318d68]
mov edi, dword [0xe318d6c]
mov dword [0xe318d60], ecx
mov ecx, dword [0xe31a77c]
dec ecx
test ecx, ecx
jbe 0x1000617a
lea eax, [edi + 3]
mov ecx, esi
and al, 0xfc
push ecx
mov esi, dword [eax]
mov edi, dword [eax + 4]
call fcn.10016cb0
mov edx, dword [0xe31a77c]
add esp, 4
inc ebx
dec edx
cmp ebx, edx
jb 0x10006159
push esi
call fcn.10016cb0
mov eax, dword [0xe318d3c]
add esp, 4
cmp eax, ebp
mov dword [0xe31a77c], ebp
mov dword [0xe318d68], ebp
je 0x100061a7
push eax
call fcn.10016cb0
add esp, 4
mov dword [0xe318d3c], ebp
mov eax, dword [0xe318d40]
cmp eax, ebp
je 0x10006212
push eax
call fcn.10016cb0
mov eax, dword [esp + 0x40]
add esp, 4
mov dword [0xe318d40], ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf4
ret
cmp eax, dword [0xe318d64]
jb 0x100061db
call fcn.1000d0c0
mov ecx, dword [0xe318d60]
mov byte [ecx], 0xff
mov eax, dword [0xe318d60]
mov ecx, dword [0xe318d64]
inc eax
cmp eax, ecx
mov dword [0xe318d60], eax
jb 0x100061fe
call fcn.1000d0c0
mov edx, dword [0xe318d60]
mov byte [edx], 0xd9
mov eax, dword [0xe318d60]
inc eax
mov dword [0xe318d60], eax
mov eax, dword [esp + 0x3c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf4
ret